Linux再目录a中查找所有既有字符串a,也有字符串b的所有文件及行号
时间: 2024-10-11 10:16:41 浏览: 26
在Linux中,你可以使用`grep`命令结合`find`命令来查找指定目录及其子目录下同时包含字符串"a"和"b"的文件,并显示包含这两个字符串的具体行号。下面是一个基本的示例:
```sh
find /path/to/directory/a -type f -exec grep -n "a" {} \; | xargs grep -l "b" | xargs grep -n "b"
```
这里解释一下各个部分的作用:
- `find /path/to/directory/a`: 查找从`directory/a`开始的路径下的文件。
- `-type f`: 只搜索文件,不包括目录或其他类型的文件。
- `-exec grep -n "a" {} \;`: 对每个找到的文件执行`grep`命令,查找字符串"a"并显示行号。
- `xargs grep -l "b"`: 将上一步的结果传递给`grep`,查找包含字符串"b"的文件,并只输出文件名。
- 最后的`xargs grep -n "b"`是为了在找出的文件中再次查找字符串"b"并显示行号。
请注意将`/path/to/directory/a`替换为你实际的目标目录。运行这个命令可能会生成大量输出,所以请谨慎操作,并根据需要筛选结果。
阅读全文