以下是一个示例脚本,可以通过循环遍历文件数组并附加文件编号:
#!/bin/bash
# 定义文件数组
files=("file1.txt" "file2.txt" "file3.txt")
# 循环遍历文件数组
for ((i=0; i<${#files[@]}; i++)); do
file="${files[i]}"
# 附加文件编号
new_file="${file%.*}_${i}.${file##*.}"
echo "原始文件名:$file,新文件名:$new_file"
# 进行其他操作,比如移动文件
# mv "$file" "$new_file"
done
在上面的示例中,我们首先定义了一个名为files
的文件数组,其中包含要遍历的文件名。然后,我们使用for
循环来遍历文件数组,使用${#files[@]}
获取数组的长度。在每次循环中,我们使用${files[i]}
获取当前文件名,然后使用${file%.*}
和${file##*.}
获取文件名的前缀和后缀。最后,我们将文件编号附加到前缀中,重新构建新的文件名。
在循环中,我们可以根据需要进行其他操作,例如移动文件。在示例中,我们使用echo
语句来显示原始文件名和新文件名,以便演示目的。如果要实际移动文件,请取消注释mv
语句,并将"$file"
和"$new_file"
替换为实际的文件路径。
请注意,上述示例是在Bash shell中编写的。