renameコマンドでファイルをリネームする
スポンサーリンク
Ubuntuのrename
コマンドが正規表現を使ってファイルをリネームするとは違っていたのでメモ
使い方
$ rename <expression> <replacement> <file>...
なので
拡張子変更
$ ls aaa.sh abc.sh sh_script.txt $ rename .sh .txt *.sh $ ls aaa.txt abc.txt sh_script.txt
最初の1つしか置換されないので注意が必要
$ ls aaa.sh.sh $ rename .sh .txt aaa.sh.sh $ ls aaa.txt.sh
文字列の削除
空の文字列(''
)で置換する
$ ls aaa_bak.sh $ rename _bak '' aaa_bak.sh $ ls aaa.sh
prefixの追加
正規表現が使えないのでファイル名にprefixを追加したい場合はls
を用いて
$ ls aaa.sh aaa_sh.txt $ ls /path/to/dir/* /path/to/dir/aaa.sh /path/to/dir/aaa_sh.txt $ rename /path/to/dir/ /path/to/dir/prefix_ $(ls /path/to/dir/*) $ ls /path/to/dir/ /path/to/dir/prefix_aaa.sh /path/to/dir/prefix_aaa_sh.txt
するしかない??