Linux获取指定目录文件,shell遍历指定目录并获取目录下指定后缀的文件
时间: 2023-07-31 09:12:26 浏览: 152
可以使用`find`命令遍历指定目录并获取目录下指定后缀的文件,示例代码如下:
```shell
#!/bin/bash
# 指定目录
dir="/path/to/dir"
# 指定后缀
suffix=".txt"
# 遍历目录并获取指定后缀的文件
find $dir -name "*$suffix" -type f
```
上述代码中,`$dir`为指定目录路径,`$suffix`为指定后缀名,`find`命令会遍历指定目录,并使用`-name`参数匹配文件名包含指定后缀的文件,最后使用`-type f`参数只显示文件,不显示目录。执行该脚本即可获取指定目录下指定后缀的文件列表。
相关问题
Linux 下shell 遍历目录下所有文件
在Linux Shell中,使用`find`命令可以遍历目录下的所有文件,使用方法如下:
```bash
find /path/to/directory -type f
```
其中,`/path/to/directory`是要遍历的目录路径,`-type f`表示要查找的是普通文件。
如果要输出找到的文件名,可以在命令后面加上`-print`选项,即:
```bash
find /path/to/directory -type f -print
```
如果要进一步操作找到的文件,可以使用`-exec`选项,例如:
```bash
find /path/to/directory -type f -name "*.txt" -exec rm {} \;
```
上述命令将删除`/path/to/directory`目录下所有扩展名为`.txt`的文件。其中,`{}`表示找到的文件名,`\;`表示命令结束符。
需要注意的是,`find`命令会遍历目录下的所有文件和子目录中的文件,如果要遍历指定目录下的文件,可以使用`-maxdepth`选项限制遍历深度,例如:
```bash
find /path/to/directory -maxdepth 1 -type f -print
```
上述命令将只遍历`/path/to/directory`目录下的文件,不会遍历子目录中的文件。
shell遍历目录下文件
你可以使用 `find` 命令来遍历目录下的文件,例如:
```bash
find /path/to/directory -type f
```
这会列出 `/path/to/directory` 目录下的所有文件。如果你想要列出子目录中的文件,可以加上 `-recursive` 参数:
```bash
find /path/to/directory -type f -recursive
```
你还可以指定文件名模式,例如只列出后缀为 `.txt` 的文件:
```bash
find /path/to/directory -type f -name "*.txt"
```
这只会列出后缀为 `.txt` 的文件,而不会列出其他文件。