shell 来遍历某个目录下不同层级的所有文件
时间: 2023-02-13 22:37:17 浏览: 84
可以使用 `find` 命令来遍历某个目录下不同层级的所有文件。例如,要遍历 `/path/to/directory` 目录下的所有文件,可以使用以下命令:
```
find /path/to/directory -type f
```
这将会列出目录下的所有文件,包括子目录中的文件。
如果只想遍历当前目录下的文件,可以在目录路径后面加上一个 `.`,例如:
```
find /path/to/directory/. -type f
```
你也可以使用 `-maxdepth` 参数来限制遍历的层级数。例如,要遍历 `/path/to/directory` 目录下最多 2 层的文件,可以使用以下命令:
```
find /path/to/directory -maxdepth 2 -type f
```
此外,还可以使用 `-name` 参数来限制遍历的文件名。例如,要遍历 `/path/to/directory` 目录下所有以 `.txt` 结尾的文件,可以使用以下命令:
```
find /path/to/directory -name "*.txt"
```
你还可以使用管道将 `find` 命令的输出传递给其他命令,例如 `xargs` 或 `grep`。
例如,要遍历 `/path/to/directory` 目录下所有以 `.txt` 结尾的文件,并打印出包含单词 "hello" 的行,可以使用以下命令:
```
find /path/to/directory -name "*.txt" | xargs grep "hello"
```
希望这些信息对你有帮助!
阅读全文