我有一个以"输出"开头的文件列表,我想总结所有文件中的总行数。
这是我的策略:
for f in `find outpu*`;do wc -l $f | awk '{x+=$1}END{print $1}' ; done
在管道覆盖之前,如果有办法我可以对>>
做一些临时变量,然后再运行awk
命令,我就可以完成这个目标。
任何提示?
答案 0 :(得分:2)
使用它来查看详细信息并总结:
wc -l output*
这只能看到总和:
wc -l output* | tail -n1 | cut -d' ' -f1
答案 1 :(得分:1)
以下是一些有趣的内容,请查看:
grep -c . out* | cut -d':' -f2- | paste -sd+ | bc
所有行,包括空行:
grep -c '' out* | cut -d':' -f2- | paste -sd+ | bc
您可以在grep
中播放文件中的行条件
答案 2 :(得分:0)
注意,如果有一个匹配outpu*
的文件,此find命令只会在当前目录中找到内容。
一种方法:
awk 'END{print NR}' $(find 'outpu*')
前提是没有大量匹配的文件名溢出shell的最大命令长度限制。