একটি আউটপুট লাইনের সংখ্যা গণনা কিভাবে?


30

যাক আমি প্রোগ্রাম আছে:

Calculate.py

ইউনিক্স কমান্ড-লাইনটি কি আমার প্রোগ্রাম, গণনা.পি? থেকে আউটপুট করা লাইনের সংখ্যাকে গণনা করে?

উত্তর:


51

আপনি আউটপুটটি পাইপ করতে পারেন wc। আপনি -lলাইন গণনা করতে পতাকা ব্যবহার করতে পারেন । প্রোগ্রামটি সাধারণত চালান এবং পুনর্নির্দেশের জন্য একটি পাইপ ব্যবহার করুনwc.

python Calculate.py | wc -l

বিকল্পভাবে, আপনি আপনার প্রোগ্রামের আউটপুট কোনও ফাইলের কাছে পুনর্নির্দেশ করতে পারেন, বলতে calc.outএবং wcসেই ফাইলটিতে চালাতে পারেন ।

python Calculate.py > calc.out
wc -l calc.out

3
এটি এর মতো ছোট ছোট জিনিস যা পাইপিংকে এত জোরালো করে তোলে। সফটওয়্যার বিকাশে এই আন্তঃঅবিযোগিতাটি ফিরিয়ে আনতে আমরা নিজেরাই ভাল করতে চাই, যা আমি মনে করি ফাংশনাল প্রোগ্রামিংয়ের বিষয়টি।
— জোশুয়া পিন্টার

1
অন্য জোরে @ জোশুয়াপিন্টার যদি আপনি কেবল অন্য কোনও ফাংশনে লাইনের সংখ্যাটি পাইপ করতে চান তবে আপনাকে এখন আউটপুটটির ম্যানুয়ালি বিশ্লেষণ করতে হবে wc। করুণার সাথে এটি সহজ ( cut -f1 -d' ') তবে প্রতিটি আদেশের ক্ষেত্রে এটি একই নয়। পাঠ্য স্রোতের পরিবর্তে কমান্ড লাইন আদিমকে একটি "অবজেক্ট" হিসাবে গড়ে তোলার পাওয়ারশেল পদ্ধতির জন্য কিছু বলা দরকার।
— শ্যাডট্যালকার

@ শ্যাডোয়ালটেকার আমি পাওয়ারশেলের সাথে পরিচিত নই তবে objectএস এর পরিবর্তে এস পাস করা অর্থপূর্ণ হয় String। এক পর্যায়ে আমি আরও কমান্ড লাইন টুলিংয়ের গভীরে ডুব দিতে চাই।
— জোশুয়া পিন্টার

1

উপরে যোগাযোগ (ডাব্লুসি - এল) খালি লাইনগুলিও গণনা করবে। নীচের কমান্ডটি ব্যবহার করা ভাল যা খালি লাইনগুলি মুছে ফেলে এবং এটি গণনা করে

python Calculate.py |sed '/^$/d'| awk '{print NR}'| sort -nr| sed -n '1p'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.