Bagaimana Cara Menghitung Jumlah Garis dari Output?


30

Katakanlah saya punya program:

Calculate.py

Apakah ada baris perintah unix yang menghitung jumlah baris yang dihasilkan dari program saya, Calculate.py?

Jawaban:


51

Anda dapat menyalurkan output ke wc. Anda dapat menggunakan -lbendera untuk menghitung garis. Jalankan program secara normal dan gunakan pipa untuk mengarahkan ulangwc.

python Calculate.py | wc -l

Atau, Anda dapat mengarahkan output program Anda ke file, katakan calc.out, dan jalankan wcdi file itu.

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

3
Hal-hal kecil seperti ini yang membuat pipa sangat kuat. Kami akan melakukan yang terbaik untuk mengembalikan interoperabilitas ini ke pengembangan perangkat lunak, yang menurut saya adalah inti dari Pemrograman Fungsional.
— Joshua Pinter

1
@ JoshuaPinter di sisi lain dan jika Anda hanya ingin menyalurkan jumlah baris ke fungsi lain, Anda sekarang perlu mengurai output dari wc. Untungnya ini mudah ( cut -f1 -d' '), tetapi hal yang sama tidak berlaku untuk setiap perintah. Ada sesuatu yang bisa dikatakan untuk pendekatan Powershell dalam membuat baris perintah menjadi "objek", daripada aliran teks.
— shadowtalker

@shadowtalker Saya tidak akrab dengan Powershell tetapi melewati objects bukannya Stringmasuk akal. Pada titik tertentu saya ingin menyelami lebih dalam tooling baris perintah.
— Joshua Pinter

1

Komunikasi di atas (wc -l) juga akan menghitung baris kosong. jadi lebih baik menggunakan perintah di bawah ini yang menghapus baris kosong dan menghitungnya

python Calculate.py |sed '/^$/d'| awk '{print NR}'| sort -nr| sed -n '1p'
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.