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.