最近、「再帰的に」ばっかりだな…。
メモ。
再帰的に処理を行い、対象のファイルやディレクトリの名前を変更します。
| $ find ./ -name <削除したい文字列> -print0 | while read -r -d '' file; do mv "$file" "<ファイル名変更定義>"; done |
カレントディレクトリのファイルのみ変更したい場合は、以下のように -maxdepth 1 オプションを設定して下さい。
| $ find . -name <削除したい文字列> -maxdepth 1 -print0 | while read -r -d '' file; do mv "$file" "<ファイル名変更定義>"; done |
具体例。
Macでエイリアスを作製すると、ファイル名に『のエイリアス』という文字列が付与されます。これを除去する例です。当然ですが、除去した結果のファイル名と同じ名前のファイルやディレクトリが存在した場合、エラーとなります。
| $ find . -name "*のエイリアス" -print0 | while read -r -d '' file; do mv "$file" "${file%%のエイリアス}"; done |
大角 祐介 SBクリエイティブ 2015-06-06
宮崎県在住。
プログラムを書いて暮らしています。趣味はルアーフィッシング、ギター。
関連記事
釣行記録や釣りに関する話題、プログラムやコンピュータの備忘録、日々の暮らしなどなど…。