[問題] 批次重新命名*.png to *2.png

看板Linux作者 (lyle)時間12年前 (2013/09/09 12:40), 編輯推噓1(1012)
留言13則, 6人參與, 最新討論串1/1
如題 我想要重新命名資料夾的所有檔案 *.png 重新命名成 *2.png 請問該command要怎麼下呢? 我只會加在檔名最後而已 ex: for i in $(ls); mv $i $i\2; done 結果會變成*2.png 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.160.25.179 ※ 編輯: wfgh 來自: 1.160.25.179 (09/09 12:41)

09/09 12:51, , 1F
rename . 2. *png
09/09 12:51, 1F

09/09 12:51, , 2F
for i in *; do mv "$i" "${i%.png}"2.png; done
09/09 12:51, 2F

09/09 12:56, , 3F
請問${i%.png}的%意思是?
09/09 12:56, 3F

09/09 13:14, , 4F
for i in *;do mv $i $(echo $i|sed 's/\.p/2\.p/');done
09/09 13:14, 4F

09/09 13:33, , 5F
man bash /Parameter Expansion
09/09 13:33, 5F

09/09 13:35, , 6F
rename / rename.ul 最快, 也比較不怕特別的字完
09/09 13:35, 6F

09/10 02:48, , 7F
for i in `ls`;do mv $i `basename $i .png`2.png;done
09/10 02:48, 7F

09/10 19:29, , 8F
1 樓方去會有問題 a.b.c.png -> a2.b2.c2.png
09/10 19:29, 8F

09/10 19:30, , 9F
試看 .png 2.png *.png 但注意不能有這種: a.png.png
09/10 19:30, 9F

09/10 19:30, , 10F
^^^ 漏 rename
09/10 19:30, 10F

09/10 19:31, , 11F
freeBSD 的 rename 更酷,支援 reg exp
09/10 19:31, 11F

09/11 07:17, , 12F
rename 's/.png/2.png' *
09/11 07:17, 12F

09/11 07:22, , 13F
2.png後面少打了/ XD
09/11 07:22, 13F
文章代碼(AID): #1IBL5CnX (Linux)