我有一个这样的文件夹结构:“图片/2015/2015-01-02/random_name.jpg”,我想将文件重命名为“2015-01-02 001.jpg”、“2015-01-02 002”。 jpg'等
我不太熟悉 bash 编程和 perl 表达式,因此非常感谢任何帮助!提前致谢
cd target_dir
dcomp="$(basename "$(pwd)")"
count=1
for file in *; do
ext="${file##*.}"
mv -v "$file" "$dcomp $(printf '%03d' "$count").$ext"
(( count++ ))
done
Run Code Online (Sandbox Code Playgroud)
这假设您真的希望结果文件名中有一个空格,这不是一个好主意。当然,您可以将循环内的模式更改为您想要的任何内容。要对多个目录执行此操作,请将整个内容放在它们的循环中。