我在编写bash脚本时非常糟糕,但我想知道是否可以递归遍历目录并用“1.png”,“2. png”等重命名其中的所有文件,但我需要它为每个进入的新文件夹重启一次。这里的脚本可以工作但只能用于一个目录。
cd ./directory
cnt=1
for fname in *
do
mv $fname ${cnt}.png
cnt=$(( $cnt + 1 ))
done
提前致谢
修改 任何人都可以实际编写此代码吗?我不知道怎么写bash,这对我来说很混乱
答案 0 :(得分:3)
使用find是一个好主意。您可以使用find和下一个语法来查找目录中的所有目录,并将脚本应用于找到的目录:
find /directory -type d -exec youscript.sh {} \;
-type d参数表示您只想查找目录
-exec youscript.sh {} \;为每个找到的目录启动脚本,并将此目录名称作为参数传递给
答案 1 :(得分:1)
使用find(1)
获取文件列表,然后根据该列表执行任何操作。