カレントディレクトリのファイル名を一括変換
find . -type f | sed 'p;s/差し替え前文字/差し替え後文字/' | xargs -n2 mv
やるときは自己責任でヨロ。
| xargs -n2 mv
をつけなければ、実害無いので、どんな出力がxargsにパイプされるか確認してみるといい。
xargs -n2 実行コマンド
は、-n2指定により、受け取った文字列を2行ずつ実行コマンドのパラメータとして実行する。実行コマンドがmvなら
a1
a2
a3
a4
という文字列は
mv a1 a2
mv a3 a4
と実行されることになる。
sed 'p;s/差し替え前文字/差し替え後文字/'
は、受け取った文字列を1行ずつ処理する。
p;s
という指定は、1行を
置き換える前の一行
置き換え後の一行
の2行に置き換える命令。例えば
abcdefg差し替え前文字hijk
を
abcdefg差し替え前文字hijk
abcdefg差し替え後文字hijk
という2行に置き換える。
OS Xは標準でrename入って無いっす。
find . -type f | sed 'p;s/差し替え前文字/差し替え後文字/' | xargs -n2 mv
やるときは自己責任でヨロ。
| xargs -n2 mv
をつけなければ、実害無いので、どんな出力がxargsにパイプされるか確認してみるといい。
xargs -n2 実行コマンド
は、-n2指定により、受け取った文字列を2行ずつ実行コマンドのパラメータとして実行する。実行コマンドがmvなら
a1
a2
a3
a4
という文字列は
mv a1 a2
mv a3 a4
と実行されることになる。
sed 'p;s/差し替え前文字/差し替え後文字/'
は、受け取った文字列を1行ずつ処理する。
p;s
という指定は、1行を
置き換える前の一行
置き換え後の一行
の2行に置き換える命令。例えば
abcdefg差し替え前文字hijk
を
abcdefg差し替え前文字hijk
abcdefg差し替え後文字hijk
という2行に置き換える。
OS Xは標準でrename入って無いっす。