用shell写一个批量获得文件名的循环脚本
时间: 2023-08-31 13:26:18 浏览: 68
### 回答1:
下面是一个使用 shell 脚本批量获得文件名的例子:
```
#!/bin/bash
# 设置目录的路径
dir_path="/path/to/your/directory"
# 进入目录
cd "$dir_path"
# 使用 for 循环遍历目录下的所有文件
for filename in *; do
# 输出文件名
echo $filename
done
```
该脚本遍历了指定目录下的所有文件,并使用 `echo` 命令输出文件名。
### 回答2:
可以使用以下的Shell脚本来批量获取文件名:
#!/bin/bash
#指定文件目录
dir="/path/to/directory"
#遍历指定目录下的所有文件
for file in ${dir}/*; do
#获取文件名(不含路径)
filename=$(basename "$file")
#打印文件名
echo "$filename"
done
在脚本中,我们首先指定了要遍历的文件目录,将它赋值给变量 `dir`。然后使用 `for` 循环遍历该目录下的所有文件,对于每个文件,我们使用 `basename` 命令获取文件名(不含路径),将其赋值给变量 `filename`。最后,我们使用 `echo` 命令打印文件名。
要使用这个脚本,只需要将 `/path/to/directory` 替换为你要遍历的文件目录,保存为一个脚本文件(例如 `get_filenames.sh`),然后通过终端执行: `./get_filenames.sh`。
执行脚本后,将会依次打印出目录下的所有文件名。
### 回答3:
在shell中编写一个批量获取文件名的循环脚本比较简单。以下是一个例子:
```shell
#!/bin/bash
# 指定文件所在的目录
directory="/path/to/directory"
# 遍历目录下的所有文件
for file in $directory/*
do
# 判断文件是否是普通文件
if [[ -f $file ]]; then
# 获取文件名
filename=$(basename -- "$file")
# 输出文件名
echo $filename
fi
done
```
在这个例子中,我们首先指定了文件所在的目录,将其赋值给变量`directory`。然后,我们使用`for`循环遍历指定目录下的所有文件。在循环内部,我们使用`-f`选项判断文件是否是普通文件,如果是普通文件,则使用`basename`命令获取文件名,并将其赋值给变量`filename`。最后,我们使用`echo`命令输出文件名。
使用这个脚本,你可以批量获取指定目录下的所有文件名。可以根据需要对脚本进行修改,添加其他操作来满足你的需求。