2019年7月22日 星期一

Shell一行文:用底線取代檔名中的空白

許多程式在處理檔名有空格的檔案時容易出錯,下面一行指令可以將資料夾下面所有檔名中所有空格全部都取代成底線(_)
  • for f in *\ *; do mv "$f" "${f// /_}"; done

若是要將資料夾底下有檔名有空格的資料夾與檔案都處理,可以使用rename這個指令(不過要先確定系統有安裝),先將資料夾中的空格取代,再將檔案中的空格取代:
  1. find -name "* *" -type d | rename 's/ /_/g'
  2. find -name "* *" -type f | rename 's/ /_/g'

參考資料

_EOF_

沒有留言:

張貼留言