如何用一行语句寻找目录下所有包含关键词的文件索引信息

如何用一行语句寻找目录下所有包含关键词的文件索引信息

    • 背景描述
    • 命令范例:

背景描述

经常出现如下情况,比如:目录下都是文本文件,搜索的词为 hello,需要找出所有满足条件的文件和行号信息。

命令范例:

for file in find ./ -name "*.txt"; do grep -Hn hello $file; done

上述命令拆解为几个命令的组合:
1 find命令用于搜索所有的文件文件
2 for 语句用于遍历文件
3 grep用于获取索引信息

组合命令的结果:打印出所有包含关键词的文件和行号,以及对应的行文本。示例见下图:

如何用一行语句寻找目录下所有包含关键词的文件索引信息_第1张图片

利用上面的格式,可以根据需要,做出更多的组合动作,比如结合awk命令进行格式计算和输出。

如何用一行语句寻找目录下所有包含关键词的文件索引信息_第2张图片

你可能感兴趣的:(shell)