Berapa banyak baris dalam setiap file.
Gunakan wc
, awalnya untuk jumlah kata, saya percaya, tetapi dapat melakukan garis, kata, karakter, byte, dan panjang garis terpanjang. The -l
pilihan mengatakan itu untuk menghitung garis.
wc -l <filename>
Ini akan menampilkan jumlah baris dalam:
$ wc -l /dir/file.txt
32724 /dir/file.txt
Anda juga dapat mengirim data ke pipa wc
:
$ cat /dir/file.txt | wc -l
32724
$ curl google.com --silent | wc -l
63
Berapa banyak baris dalam direktori.
Mencoba:
find . -name '*.pl' | xargs wc -l
satu kalimat lagi:
( find ./ -name '*.pl' -print0 | xargs -0 cat ) | wc -l
BTW, wc
perintah menghitung kode baris baru, bukan baris. Ketika baris terakhir dalam file tidak berakhir dengan kode baris baru, ini tidak akan dihitung.
Anda dapat menggunakan grep -c ^, contoh lengkap:
#this example prints line count for all found files
total=0
find /path -type f -name "*.php" | while read FILE; do
#you see use grep instead wc ! for properly counting
count=$(grep -c ^ < "$FILE")
echo "$FILE has $count lines"
let total=total+count #in bash, you can convert this for another shell
done
echo TOTAL LINES COUNTED: $total
Berapa banyak garis secara total
Tidak yakin saya mengerti permintaan Anda dengan benar. mis. ini akan menampilkan hasil dalam format berikut, menunjukkan jumlah baris untuk setiap file:
# wc -l `find /path/to/directory/ -type f`
103 /dir/a.php
378 /dir/b/c.xml
132 /dir/d/e.xml
613 total
Atau, untuk hanya menghasilkan total jumlah karakter baris baru tanpa file dengan jumlah file ke perintah berikut ini dapat terbukti berguna:
# find /path/to/directory/ -type f -exec wc -l {} \; | awk '{total += $1} END{print total}'
613
Yang paling penting, saya membutuhkan ini dalam 'format yang dapat dibaca manusia' misalnya. 12.345.678 daripada 12345678
Bash memiliki fungsi printf bawaan :
printf "%0.2f\n" $T
Seperti biasa, ada banyak metode berbeda yang dapat digunakan untuk mencapai hasil yang sama yang disebutkan di sini.