如果我有文本文件的文件夹,如何使用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