Her dosyada kaç satır var.
wc
Aslında, sözcük sayımı için kullanın , inanıyorum, ancak satır, sözcük, karakter, bayt ve en uzun satır uzunluğunu yapabilir. -l
Seçenek satırları saymak söyler.
wc -l <filename>
Bu, aşağıdaki satır sayısını gösterecektir:
$ wc -l /dir/file.txt
32724 /dir/file.txt
Verileri wc
ayrıca yönlendirebilirsiniz:
$ cat /dir/file.txt | wc -l
32724
$ curl google.com --silent | wc -l
63
Dizinde kaç satır var.
Deneyin:
find . -name '*.pl' | xargs wc -l
bir başka astar:
( find ./ -name '*.pl' -print0 | xargs -0 cat ) | wc -l
BTW, wc
komut satırları değil yeni satır kodlarını sayar. Dosyadaki son satır yeni satır koduyla bitmediğinde, bu sayılmaz.
Grep -c ^ kullanabilirsiniz, tam örnek:
#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
Toplamda kaç satır var
Doğru istediğinizi anladığımdan emin değilim. örneğin bu, her dosya için satır sayısını gösteren aşağıdaki biçimde sonuçları verecektir:
# wc -l `find /path/to/directory/ -type f`
103 /dir/a.php
378 /dir/b/c.xml
132 /dir/d/e.xml
613 total
Alternatif olarak, yalnızca toplam yeni satır karakteri sayısını dosya olmadan yazdırarak aşağıdaki komutu saymak yararlı olabilir:
# find /path/to/directory/ -type f -exec wc -l {} \; | awk '{total += $1} END{print total}'
613
En önemlisi, buna 'insan tarafından okunabilir biçimde' ihtiyacım var, örneğin. 12345678 yerine 12,345,678
Bash'in yerleşik bir printf işlevi var:
printf "%0.2f\n" $T
Her zaman olduğu gibi, burada belirtilen sonuçları elde etmek için kullanılabilecek birçok farklı yöntem vardır.