有人非常热心地帮助我开始编写用于重命名 PDF 文件的批量重命名脚本。
如您所见,我需要添加一些逻辑来阻止以下情况的发生——例如向重复的文件名添加一个唯一编号?
rename 's/^(.{5}).*(\..*)$/$1$2/' *
rename -n 's/^(.{5}).*(\..*)$/$1$2/' *
Annexes 123114345234525.pdf renamed as Annex.pdf
Annexes 123114432452352.pdf renamed as Annex.pdf
希望这是有道理的?
谢谢
最佳答案
for i in *
do
x='' # counter
j="${i:0:2}" # new name
e="${i##*.}" # ext
while [ -e "$j$x" ] # try to find other name
do
((x++)) # inc counter
done
mv "$i" "$j$x" # rename
done
之前
$ ls
he.pdf hejjj.pdf hello.pdf wo.pdf workd.pdf world.pdf
之后
$ ls
he.pdf he1.pdf he2.pdf wo.pdf wo1.pdf wo2.pdf
关于linux - 使用逻辑重命名文件的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9499960/