我有两个文本文件’simple’和’simple1′,其中包含以下数据
simple.txt--
hello
hi hi hello
this
is it
simple1.txt--
hello hi
how are you
[]$tr ' ' '\n' < simple.txt | grep -i -c '\bh\w*'
4
[]$tr ' ' '\n' < simple1.txt | grep -i -c '\bh\w*'
3
此命令显示每个文件以“h”开头的单词数,但我想显示总计数为7,即两个文件的总数.我可以在单个命令/ shell脚本中执行此操作吗?
P.S.:我不得不写两个命令,因为tr没有两个文件名.
解决方法:
此替代方案不需要管道:
$awk -v RS='[[:space:]]+' '/^h/{i++} END{print i+0}' simple.txt simple1.txt
7
这个怎么运作
> -v RS ='[[:space:]]’
这告诉awk将每个单词视为记录.
> / ^ h / {i}
对于以h开头的任何记录(单词),我们将变量i递增1.
> END {print i 0}
在我们读完所有文件后,我们打印出i的值.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。