Linux:计算名称和内容中包含单词的文件

标签 linux terminal find

我想计算目录中名称和内容包含给定单词的文件数。

find ./test -maxdepth 1 -type f -iname "*main*" | wc -l

给定的代码片段对名称中包含“main”的文件进行计数。如何更改它以检查其内容中是否也包含“main”?

最佳答案

遍历文件并使用 grep -q 抑制 grep 输出:

for file in `find ./test -maxdepth 1 -type f -iname "*main*"`; do
    if grep -q main $file; then
        wc -l $file
    fi
done

输出

5 ./test/foo_main

关于Linux:计算名称和内容中包含单词的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37480304/

相关文章:

linux - 在 Linux 中,将多个目录压缩到一个命名的 zip 文件中

c - C 中的段错误(代码转储)错误

java - 将终端输出输入java

MATLAB:我想根据向量中的阈值对矩阵进行阈值处理,而无需 for 循环。可能的?

javascript - 从 ajax jquery post 响应中获取 <h2> 元素内的文本

linux - 如何将所有区域移动到新的绑定(bind) DNS 服务器

php-zmq 段错误

c - 如何更改C中的工作目录?

C - 直接从终端扫描值

c++ - 使用 2 个分隔符 '+' 和 '-"在 C++ 中拆分字符串