一个命令行grep和字数递归

时间:2016-03-10 10:34:54

标签: bash grep pipe wc

我可以使用for循环

执行以下操作
    for f in *.txt; do grep 'RINEX' $f |wc -l; done

是否有可能通过运行一个班轮来获取单个文件报告?

意思是我想要grep& wc当时的文件类似于

    grep 'RINEX' *.txt

更新

    grep -c 'RINEX' *.txt

返回每个文件的名称及其对应的出现次数。 Thx @Evert

1 个答案:

答案 0 :(得分:0)

grep不适合执行此任务。

grep执行基于行的匹配,例如第grep 'o' <<< "fooo"行会返回1行。但是我们有3 o s。

这个单行应该做你想做的事:

awk -F'RINEX' 'FILENAME!=f{if(f)print f,s;f=FILENAME;s=0}
               {s+=(NF-1)}
               END{print f,s}' /path/*.txt