Bagaimana saya menghitung berapa banyak baris dalam file teks. misalnya:
command file.txt
Catatan, saya hanya ingin menghitung garis yang tidak kosong (garis tanpa menghitung spasi dan tab putih) ?.
command-line
pengguna93097373
sumber
sumber
\r
) atau lewati saja. Saat ini menjawab semua menghitung baris dengan spasi dan hanya melewati yang kosong.\r
atau\n
), garis-dengan-hanya-tab dan garis-dengan-hanya-spasi) dan ingin melewati mereka seperti yang saya pikirkan dan menjawab sesuai dengan apa yang saya mengerti.Jawaban:
Jawaban di atas benar tetapi sedikit berbeda, Anda dapat menggunakan
grep
untuk kode yang lebih mudah seperti itugrep -vc '^$' file.txt
Misalnya (A): file.txt
Misalnya (B): file.txt
Perhatikan hasilnya 4! padahal yang kita inginkan hanya dua. tetapi ini juga menghitung tab di antara konten dan komentar.
Perhatikan hitung dari 0 dan hitung dari 1 berbeda dari grep ke sed karena saya ingat untuk detail lebih lanjut cari grep atau sed.
sumber
sed
pilihannya benar, tetapi yanggrep
satu tidakCoba
sed
:Jika Anda memiliki baris yang hanya berisi spasi atau tab dan jika Anda ingin mengabaikannya juga dari hitungan:
sumber
^\s*$
juga untuk mempertimbangkan baris akun yang hanya berisi tab atau spasi.Menggunakan
grep
:sumber
Kamu bisa memakai:
Jika Anda memerlukan perintah untuk itu, tempel saja baris berikut ke dalam Anda
.bashrc
dan mulai kembali sesi shell Anda atau buka terminal baru:Contoh:
sumber
Dengan awk :
Penjelasan:
The
NF
menunjukkan jumlah total bidang, dan karenanya ini mencetak hanya garis non-kosong , karena dalam garis non-kosongNF
lebih besar dari0
dan mengevaluasi ke true. Jadi, tambah flag count ketika awk menemukan garis yang tidak kosong dan cetak nilai flag count terbaru di akhirEND{print count}
.sumber
Sunting : Anda bisa menambahkan
c
opsigrep
daripadawc
memipis semuanya , lihat jawaban @ muru untuk versi yang lebih ringkasDengan
grep
:sumber
Solusi Perl
Perl dapat melakukannya. Secara umum garis penghitungan berfungsi seperti itu:
Jika kami ingin mengecualikan semua baris kosong, kami akan melakukan sesuatu seperti ini:
Katakanlah kita memiliki file input seperti ini
Ada total 5 baris, 2 baris kosong. Perintah yang kita miliki akan menampilkan:
Peningkatan multi-file
Ini berfungsi baik untuk satu file. Jika kita ingin membuatnya berfungsi pada banyak file, kita dapat melakukan sesuatu seperti ini:
sumber