Filenames

交換文件名中的欄位

  • August 12, 2020

如何對文件名進行以下更改。我想這是可能的rename,但我不知道如何。

A_B_C.pdf

C_A_B.pdf

A,B並且C是我的文件名中的不同單詞,Complete_Works_Plato.pdf例如 。

rename -n 's/([^_]*_[^_]*)_([^_]*).pdf/$2_$1.pdf/' *
  • [^_]*任意數量的非下劃線。
  • ( )擷取一個組。第一對由 複製,$1第二對由複製$2

-n如果您對輸出感到滿意,請刪除。

與 shell 腳本類似的方法:

for file in *.pdf; do
   f12=${file%_*}
   f3=${file##*_}
   f3=${f3%.pdf}
   mv -- "$file" "${f3}_${f12}.pdf"
done

參數擴展中,您會找到%and的含義##

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