টার্মিনাল আউটপুটে রেখার সংখ্যা গণনা করুন


264

এটি এসও তেমন খুঁজে পেল না। টার্মিনালে আমি নিম্নলিখিত কমান্ডটি চালিয়েছি:

>> grep -Rl "curl" ./

এবং এটি ফাইলগুলির তালিকা প্রদর্শন করে যেখানে কীওয়ার্ড কার্ল হয়। আমি ফাইল সংখ্যা গণনা করতে চান। আমি যেভাবে প্রথম চিন্তা করতে পারি তা হ'ল টার্মিনালে আউটপুটটিতে রেখার সংখ্যা গণনা করা। আমি এটা কিভাবে করবো?


40
, grep নিজেই এছাড়াও আছে -cপতাকা যা শুধু গণনা ফেরৎ
EaterOfCode

উত্তর:


475

( লাইন গণনা ) স্যুইচটি wcব্যবহার করে ফলাফলটি পাইপ করুন :-l

grep -Rl "curl" ./ | wc -l

1
আমি ব্যবহার করছি grep "" -cতবে এটি কিছুটা সুন্দর :)
ninhenzo64

3
এটি লক্ষ করা উচিত যে ডাব্লুসি থেকে পাইপিংয়ের এই কৌশলটি কেবল গ্রেপ আউটপুট নয়, যে কোনও আউটপুট জন্য কাজ করবে। উদাহরণস্বরূপ, এটি গিট ডিফের সাথে মিলিত হতে পারে।
জেসন এল।

1
কেন এটি গৃহীত উত্তর? কিছু মন্তব্য উল্লিখিত হিসাবে বিল্ড ইন ফাংশন grep -cঅন্য প্রোগ্রামে আউটপুট পাইপ পরিবর্তে ব্যবহার করা উচিত। উদাহরণস্বরূপ আপনি এমনকি ওয়ার্ডের চেয়ে অন্য পাঠ্য সম্পাদকের সাথে আপনার ওয়ার্ড ডকুমেন্টের অক্ষরও পরিবর্তন করবেন না, আপনি কি?
মাইকেল পি

57

উত্তর হিসাবে ইটারঅফকোডের মন্তব্য এখানে রাখছি।

গ্রেপ নিজেই -c পতাকাও রয়েছে যা কেবল গণনা দেয়

সুতরাং কমান্ড এবং আউটপুট এর মত দেখতে পারে।

$ grep -Rl "curl" ./ -c
24

সম্পাদনা করুন:

যদিও এই উত্তরটি সংক্ষিপ্ত হতে পারে এবং এটি স্বীকৃত উত্তরের চেয়ে ভাল বলে মনে হতে পারে (এটি ব্যবহার করছে wc)। আমি এর সাথে আর একমত নই। আমি মনে করার মতো মনে করি যে আপনি পাইপিংয়ের মাধ্যমে লাইনগুলি গণনা wc -lকরতে পারেন কারণ আপনি অন্যান্য প্রোগ্রামগুলির সাথেও এটি ব্যবহার করতে পারেন grep


5

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

উদাহরণ স্বরূপ:

$ echo "asd" | wc -l

ফিরে আসবে 1এবং

$ echo -n "asd" | wc -l

ফিরে আসবে 0


তাই আমি প্রায়শই যা ব্যবহার করি তা হ'ল grep <anything> -c

$ echo "asd" | grep "^.*$" -c
1

$ echo -n "asd" | grep "^.*$" -c
1

এটি কি wc -lফিরে আসবে তার চেয়ে বাস্তবের কাছাকাছি ।

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