Rename

批量重命名文件以將序列從結尾移動到開頭

  • November 7, 2018

我有一堆文件來自使用convert從 PDF 到許多圖像縮略圖的即時消息。在該轉換中,我有名為 something-0.jpg 的文件。所以,假設一個 PDF 有 45 頁,每頁是:

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

我想讓這些像

th0-something.jpg
...
th45-something.jpg
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

使用zsh外殼:

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

-n(高興時刪除)。

引用自:https://unix.stackexchange.com/questions/480213