在当前目录中查找包含 "hello" 短语的文件,并显示这些文件的绝对路径。(提示:忽略二进制文件和目录)
时间: 2024-10-19 13:11:38 浏览: 26
要在当前目录及其子目录中查找包含 "hello" 字符串的文本文件(即不是二进制文件),你可以使用 `grep` 和 `find` 命令结合使用。下面是相应的命令:
```sh
find . -type f \( ! -name "*.bin" \) -exec grep -l 'hello' {} \; | xargs ls -l --abs-path
```
这个命令的工作原理如下:
- `find .`: 在当前目录下开始搜索。
- `-type f`: 只查找普通文件,不包括目录。
- `\(! -name "*.bin"\)`: 排除名字以 ".bin" 结尾的所有文件,即忽略二进制文件。
- `-exec grep -l 'hello' {} \;`: 对每个找到的文件执行 `grep` 搜索,如果找到 "hello" 子串,则显示该文件的完整路径(仅限于匹配的行)。
- `xargs ls -l --abs-path`: 把 `grep` 的结果传递给 `ls` 命令,显示每条路径的详细信息(包括绝对路径)。
运行此命令后,你会看到所有包含 "hello" 字符串的文本文件的绝对路径列表。
阅读全文