批量重命名文件以将序列从末尾移动到开头

批量重命名文件以将序列从末尾移动到开头

我有一堆文件,这些文件来自使用 IM,convert从 PDF 到许多图像缩略图。在该转换中,我有名为 some-0.jpg 的文件。因此,假设 PDF 有 45 页,每页为:

something-0.jpg
...
something-45.jpg

我想让这些像

th0-something.jpg
...
th45-something.jpg

答案1

带壳zsh

autoload zmv # best in ~/.zshrc
zmv -n '(*)-(<->).jpg' 'th$1-$2.jpg'

(高兴时删除-n)。

答案2

for num in {0..45}; do
   mv "something-${num}.jpg" "th${num}-something.jpg"
done

如果数字是可变的,您可以执行以下操作:

for num in $( seq 1 ${last-10} ); do
   mv "something-${num}.jpg" "th${num}-something.jpg"
done

如果last未定义,将使用默认值 10。这意味着您可以将其放入脚本中:

last="${1-10}" # $1 is the first parameter given; use a default 
               # of 10 if not provided a value
for num in $( seq 1 $last ); do
   mv "something-${num}.jpg" "th${num}-something.jpg"
done

相关内容