【bash】さくっと拡張子を変更する処理
問題
HTMLファイルがこのディレクトリの中にたくさんあるんだけど、拡張子を全部phpにしてください。
回答例
linuxならfindコマンドとbashのwhile + read でこんなことができる。
find . -name "*.html" | while read f; do cp "$f" "${f%.*}.php"; done
この感じで while read してしまうと、何でもできそうですね。
別解
これも動く。findしたパスを、sedで加工してコマンドの文字列にして、shに渡して実行してもらう。
find . -name "*.html" | sed -e 's/^\(.*\)\.[^.]*$/cp "\0" "\1.php"/g' | sh
コメント