লাইন গণনার উপর নির্ভর করে কীভাবে `ক্যাট` বা` কম use ব্যবহার করবেন?


12

ফাইলগুলির বিষয়বস্তুটি দেখার সময়, আমি স্বয়ংক্রিয়ভাবে catসংক্ষিপ্ত ফাইলগুলি চাই lessযা স্ক্রিনের আকারের চেয়ে বেশি। আমি এর সাথে কিছু ব্যবহার করতে পারি wc -l, তবে এর চেয়ে আরও ভাল উপায় কি সম্ভবত উইন্ডোর আকার / বর্তমান লাইনের লাইন বিবেচনা করে?


1
অনেক সরঞ্জাম এটি করার সময় নোট করুন এটি প্রত্যাশাটি ভঙ্গ করে। অর্থাত্ ব্যবহারকারী কী হবে তা আগে থেকেই জানতে পারবেন না। আমি উদাহরণস্বরূপ এই বিরক্তিকর খুঁজে পাই git logযাতে এই সঠিক কাজটি করে। আপনি কী পেতে যাচ্ছেন তা আপনি কখনই আগে জানতেন না (কী আঘাত করতে হবে q?)
বিটমাস্ক

4
দ্রষ্টব্য: সাধারণভাবে catআপনার ফাইলগুলি দেখার জন্য এড়ানো উচিত । সাধারণত আপনি কেবল catস্টাইডাউটে কোনও ফাইলের বিষয়বস্তু প্রেরণের জন্য ব্যবহার করা উচিত যাতে এটি অন্য প্রক্রিয়াতে পাইপ করা যায়। catদেখার জন্য ব্যবহারটি এড়ানোর কারণ হ'ল এটি কাঁচা বাইটগুলি টার্মিনালে প্রেরণ করে, যা অপ্রত্যাশিত টার্মিনাল কমান্ডগুলি কার্যকর করতে পারে (উদাহরণস্বরূপ, কিছু ব্যবহারকারী যখন টার্মিনাল কীবোর্ডটি অক্ষম করার জন্য কোনও ফাইলকে ডান বাইট ধারণ করে তখন আটকা পড়ে যায়) । আপনার সাধারণত একটি পেজারের মতো lessবা একটি সম্পাদক ব্যবহার করা উচিত , যা প্রদর্শনের জন্য বিশেষ অক্ষরগুলিকে বিন্যাস করবে যাতে তারা টার্মিনাল দ্বারা ব্যাখ্যা না করে।
ক্রিস পেজ

2
আপনি যদি টার্মিনালে সরাসরি ফাইলের সামগ্রী দেখতে বিড়াল ব্যবহার করতে চলেছেন তবে কমপক্ষে ব্যবহার করুন cat -vযাতে এটি বিশেষ অক্ষরগুলি থেকে পালিয়ে যায়।
ক্রিস পেজ

@ বিটমাস্ক ভালো পয়েন্ট, এজন্যই আমি জিজ্ঞাসা করেছি যে স্প্লিট-স্ক্রিনcat আইং সম্ভব? যা আরও ভাল সমাধান হতে পারে
টোবিয়াস কেইনজলার

@ ক্রিসপেজ আমার কীবোর্ডটি মারা যায় নি, তবে আমি মনে করি আমি একবার cat -v
কোডপেজটি সরিয়ে ফেলতে পেরেছি

উত্তর:


9

wcভিত্তিক চেক জড়িত সূত্র আপনি দিতে :

(($(wc -l<input_file)<=$(tput lines))) && echo 'will fit' || echo 'not enough'

একটি $LINESশেল ভেরিয়েবল রয়েছে যা ব্যবহার করা যেতে পারে:

(($(wc -l<input_file)<=LINES)) && echo 'will fit' || echo 'not enough'

কিন্তু $LINESশুধুমাত্র যখন কমান্ড প্রম্পটে আপডেট করা হয়। আমার অর্থটি বোঝার জন্য এটি চালান এবং টার্মিনাল উইন্ডোর আকার পরিবর্তন করুন sleep:

( sleep 3; echo $LINES; tput lines )

ধন্যবাদ, এর সুবিধা রয়েছে যে এটি lessইতিমধ্যে ব্যবহারের জন্য সুর করা যেতে পারে যদি উদাহরণস্বরূপ 2/3 স্ক্রিনটি ব্যবহার করে cat
টোবিয়াস কেইনজলার

20

হতে পারে 'কম-এফ ফাইল_টো_ড্রেড' বিকল্প: উইন্ডোটি সমস্ত ফাইল প্রদর্শন করার জন্য যথেষ্ট হলে এটি কম উপস্থিত হয় এবং যদি এটি না হয় তবে পেজারে অপেক্ষা করুন


ভাল শোনাচ্ছে, তবে এটি কোনও ক্ষেত্রেই আউটপুট দেয় না এবং উভয় ক্ষেত্রেই প্রস্থান কোডগুলি সমান
টোবিয়াস কেইনজলার

আমি কেবল 'কম-এফ / ইত্যাদি / পাসডাব্লুডি' চেষ্টা করি এবং এটি ফাইলটি সঠিকভাবে প্রদর্শন করে (পেজারের সাথে বা ছাড়াই)। আপনি ঠিক বলেছেন, উভয় ক্ষেত্রেই রিটার্ন কোড 0 হয়।
ডোম

11
অনুরোধ অনুসারে এই কমান্ডটি কাজ করে তবে একটি ছোটখাটো ত্রুটির সাথে: এটি ফাইলটি প্রদর্শনের পরে পর্দা সাফ করে। -Xবিকল্প যুক্ত করা ক্লিয়ারিং বন্ধ করে দেবে, তাই সংক্ষিপ্ত ফাইলগুলিও এর মতো প্রদর্শিত হবে cat। দুর্ভাগ্যক্রমে -Xস্ক্রিনটি দীর্ঘ, স্ক্রোলযুক্ত ফাইলগুলি প্রদর্শন করার পরেও সাফ হবে না।
manatwork

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