中的行上的条件
我有一个以单词"output"开头的文件列表,我想将所有文件中的总行数相加。
这是我的策略:
for f in `find outpu*`;do wc -l $f | awk '{x+=$1}END{print $1}' ; done
在结束之前,如果有一种方法可以对临时变量执行类似>>
的操作,然后运行awk
命令,我就可以实现这个目标。
有什么建议吗?
使用它来查看详细信息和总和:
wc -l output*
而这只能看到总和:
wc -l output* | tail -n1 | cut -d' ' -f1
这里有一些有趣的东西,请查看:
grep -c . out* | cut -d':' -f2- | paste -sd+ | bc
所有行,包括空行:
grep -c '' out* | cut -d':' -f2- | paste -sd+ | bc
您可以在grep
中播放文件
注意,如果有一个文件与outpu*
匹配,则此find命令只会在当前目录中查找内容。
一种方法:
awk 'END{print NR}' $(find 'outpu*')
前提是没有大量的匹配文件名溢出shell的最大命令长度限制。