sujingjhong.com


Shell / 如何將檔名中的空白替換掉

最近開始在整理先前的文章,發現有些文章檔名那時有用空格,但老實說這在以檔名作為網址的情況下,非常不適合。

所以開始在網路上找沒有類似的問題,整理一下我的需求是:

  1. 將檔名文字替換
  2. 可以批次化處理 1 問題
  3. 可以用 shell 來處理就好

實際步驟應該會是:

  1. 取得檔名
  2. 將檔名中的空白置換
  3. 將舊檔名取代成新檔名
  4. 重複以上步驟直到所有檔案處理完畢

所以一開始先下一組關鍵字 mac terminal filename space replace,就找到這篇:

很好,問題解決了,然後我是要將空白置換成連字號(-),所以就將解答更改一個字元變成:

for oldname in *
do
  newname=`echo $oldname | sed -e 's/ /-/g'`
  mv "$oldname" "$newname"
done

接著就切換到目標資料夾,直接把這串指令丟下去跑。結案!