如果我有文本文件的文件夾,如何使用Bash命令獲得每個文件的平均文字?獲取每個文件的平均文字
我知道,我可以使用wc -w
獲得每個文件的話,但我不能確定如何獲得在所有文件中單詞的總數,然後通過短信的數量除以文件數
如果我有文本文件的文件夾,如何使用Bash命令獲得每個文件的平均文字?獲取每個文件的平均文字
我知道,我可以使用wc -w
獲得每個文件的話,但我不能確定如何獲得在所有文件中單詞的總數,然後通過短信的數量除以文件數
遞歸遍歷文件系統並計算所有單詞和文件。最後它將文件總數除以文件數:
find . -type f -exec wc -w {} \; | awk '{numfiles=numfiles+1;total += $1} END{print total/numfiles}'
cat *.txt | wc -w
和文件編號是::您可以通過獲得總字數
ls *.txt | wc -l
然後你可以devide他們。
這只是一條建議。您可以使用Loops和Variable Assignment。
黃的解決方案非常好,但會在任何目錄上發出錯誤。分裂有點痛苦,因爲shell中的所有算術都是整數。這裏有一個腳本,做你想要什麼:
#!/bin/sh for file in *; do test -f "$file" || continue c=$(wc -w "$file" | awk '{print $1}') : $((total += $c)) : $((count += 1)) done echo $total $count 10k/p | dc | sed 's/0*$//'
但是彩旗的awk的解決方案是要走的路。
'wc -w * | grep total'會讓你開始...不知道該從哪裏去。祝你好運! – 2012-02-05 17:23:42