
我有一堆圖像,就像1.jpg 2.PNG 3.gif 4.jpeg
在目錄中一樣。我想將它們全部重命名為1-s.jpg 2-s.PNG 3-s.gif 4-s.jpeg
.
我嘗試運行這些命令,但它對目錄中的文件沒有影響:
rename 's/^(\d+)\.(.*)/$1-s.$2/' .
rename 's/^(\d+)\.(.+)/$1-s.$2/' .
rename 's/.*\.(.+)/$1-s.$2/' .
我做錯了什麼?
答案1
使用通配符*
作為檔案名稱:
rename 's/^(\d+)\.(.*)/$1-s.$2/' *
你可以簡化一點:
rename 's/^(\d+)(?=\.)/$1-s/' *
其中(?=\.)
是正向前瞻,確保數字後面有一個點,而不捕捉它。