কমান্ড-লাইন থেকে পর্দার অর্ধেক সাফ করুন


11

টার্মিনালটি পরিষ্কার করার কোনও উপায় আছে কি না তবে পর্দার শীর্ষে প্রম্পটটি রেখে এটি মাঝখানে রেখে দেয়? দেখে মনে হচ্ছে clearমূলত সমস্ত কমান্ড-লাইন পরামিতি উপেক্ষা করা হয়।

আমি ভেবেছিলাম এটি দিয়ে কিছু করার উপায় আছে tputতবে এটি খুঁজে পাচ্ছি না।

উত্তর:


12

আপনি tputস্ক্রিনের প্রদত্ত লাইনে কার্সারটি সরানোর জন্য ব্যবহার করতে পারেন , উদাহরণস্বরূপ,

tput cup 11 0

এটিকে দ্বাদশ লাইনে নিয়ে যেতে (মানগুলি শূন্য থেকে গণনা করা)।

একই লাইন বরাবর, আপনি tputসেই অবস্থানটি থেকে পর্দার শেষ পর্যন্ত edসাফল্যটি ব্যবহার করে সক্ষম করতে পারেন। মিশ্রন,

tput cup 11 0 && tput ed

যা চেয়েছিল তা হতে পারে।

আপনি যদি স্ক্রিনের হাফওয়ে চিহ্নটিতে যেতে চান তবে প্রথম সংখ্যাটি ফিরে এসেছে

stty size

(বেশিরভাগ সিস্টেমে) পর্দার সারিগুলির সংখ্যা। কমান্ডের সাথে এটি যুক্ত করা হচ্ছে:

tput cup $(stty size|awk '{print int($1/2);}') 0 && tput ed

clearথেকে প্রোগ্রামটি পৃথক tput ed:

  • এটি কার্সারটিকে হোম পজিশনে (উপরের বাম) এবং এ নিয়ে যায়
  • পয়েন্টের পয়েন্ট থেকে পর্দার শেষ পর্যন্ত সাফ করে।

ক্যাভেট: কিছু প্ল্যাটফর্মে tput edসমস্যার সমাধান না হতে পারে অনেক আগে fixed এই ক্ষেত্রে, আপনার শাপগুলি / এনক্রস কনফিগারেশন আপগ্রেড করা সমস্যার সমাধান করবে।


ইউনিক্সে, এটি আমার জন্য পাঠ্যটি সাফ করে না, তবে কার্সারটি সরিয়ে দেয়
জেমস ওয়ালস

1
দশ বছর আগে ঠিক করা বাগের মতো শোনাচ্ছে। জিনিস আপগ্রেড করার সম্ভবত সময়।
টমাস ডিকি

0

যদি লাইন গণনাটি বিজোড় হয় তবে tput cupপুরো পৃষ্ঠাটি সাফ করে।
এটি লিখতে এটি ঠিক করা উচিত:

tput cup $(($(stty size|awk '{print $1}')/2)) 0 && tput ed

-1

আপনি যদি বাকিটি বজায় রেখে পর্দার নীচের অর্ধেকটি সাফ করতে আগ্রহী হন , তবে এটি কাজ করবে:

half=$(stty size | awk '{print int($1/2)-1;}'); for i in `seq ${half}`; do echo '' ; done && tput cup ${half} 0 && tput ed

সম্পাদনা: স্পষ্ট করার জন্য, seq $(stty size | cut -d' ' -f1)অন্যান্য চালানো উত্তরগুলি যদি আউটপুটের প্রথম অর্ধেক ছেড়ে যায় তবে এই কমান্ডটি দ্বিতীয়ার্ধে (অর্থাৎ অতি সাম্প্রতিক আউটপুট) ছাড়বে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.