Bashにはブレース展開,変数パラメータ展開と言って変数を簡単に操作したりする機能がある.以下によく使う例を載せる.詳細は参考ページを参考に.
拡張子を変更したい場合
for i in *.c; do mv $i ${i%.c}.cpp; done
上記の例では拡張子 c を拡張子 cpp に置き換える.
ファイル名の一部を変更したい場合
for i in *_temp.*; do mv -n $i ${i/_temp/}; done
上記の例では hoge_temp.txt があった場合 _temp を削除し hoge.txt に変更を行う.(一応,上書きしないように -n フラグを追加している.)
ファイル名に追記したい場合
for i in *; do mv $i ${i%.*}_temp.${i##*.}; done
上記の例では hoge.piyo.txt があった場合,拡張子の前に _temp を追加し hoge.piyo_temp.txt に変更を行う.
参考ページ
- http://d.hatena.ne.jp/dharry/20090211/1234290856 - 変数パラメータ展開について
- http://akitosblog.seesaa.net/article/185306796.html - 1のページに不足している置換について
- http://lhlhlh.blog71.fc2.com/blog-entry-3.html - ブレース展開について