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


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.