要查询一个目录中包含的文件,哪些文件包含某个关键字,可以使用 grep 命令结合 -r(递归)选项来实现。例如,假设你要查找目录 /path/to/directory 中所有文件中包含关键字 keyword 的文件:
grep -r "keyword" /path/to/directory
这将递归搜索 /path/to/directory 目录下的所有文件,输出包含关键字 keyword 的文件名和匹配的行内容。
常用选项:
- -r 或 --recursive:递归地搜索目录及其子目录。
- -l 或 --files-with-matches:只显示包含匹配内容的文件名,不显示匹配的行。
- -i:忽略大小写。
- -n:显示匹配行的行号。
- -H:显示文件名(默认会显示)。
如果只想查看包含关键字的文件名,可以使用:
grep -rl "keyword" /path/to/directory
这会列出所有包含关键字的文件名。
如果要查看每个文件中匹配关键字的位置和行号,可以使用:
grep -rn "keyword" /path/to/directory
这会显示每个匹配行的行号和内容。