【问题标题】:how to create for loop grep in bash如何在bash中创建for循环grep
【发布时间】:2018-10-04 15:53:21
【问题描述】:

我正在尝试创建一个 for 循环,该循环分别计算目录中每个文件中的关键字数。

例如,如果一个目录有 2 个文件,我希望 for 循环说

foo.txt = found 4 keywords
bar.txt = found 3 keywords

到目前为止,我已经编写了以下内容,但它给出了所有文件中的关键字总数,而不是每个单独文件的关键字。

我得到的结果是

7 keywords founds

而不是上面想要的输出

这是我想出来的

for i in *; do egrep 'The version is out of date|Fixed in|Identified the following' /path/to/directory* | wc -l ; done

【问题讨论】:

    标签: bash for-loop grep


    【解决方案1】:

    只需使用 grep 的 -c 计数选项:

    grep -c <pattern> /path/to/directory/*
    

    你会得到类似的东西:

    bar.txt:2
    foo.txt:1
    

    请注意,这将计算匹配的 ,而不是匹配的单个模式。因此,如果一个模式在一行上出现两次,它只会计算一次。

    【讨论】:

    • 这正是我想要的!谢谢!
    猜你喜欢
    • 1970-01-01
    • 2016-03-29
    • 1970-01-01
    • 2015-12-26
    • 2015-09-23
    • 2013-06-21
    • 1970-01-01
    • 2017-10-16
    • 1970-01-01
    相关资源
    最近更新 更多