macのターミナルでカレントディレクトリのフォルダの中の特定のファイルのファイル名の一部をフォルダ名に置換する
macのターミナルでカレントディレクトリのフォルダの中の特定のファイルのファイル名の一部をフォルダ名に置換する。
renameコマンドをインストール。
brew install rename
下記コマンドを実行。
例:idmlファイルのファイル名の一部の「hoge」をファイルが含まれるフォルダの名称に置換。
処理前 | 処理後 |
---|---|
カレントディレクトリ └XXX └sample_hoge.idml |
カレントディレクトリ └XXX └sample_XXX.idml |
for i in ./*/*.idml; do rename -s hoge $(dirname $i | xargs -I{} basename {}) $i; done
例:indbファイルのファイル名の一部の「XXX」をファイルが含まれるフォルダの名称の一部(アルファベットの大文字3つの連続)に置換。
処理前 | 処理後 |
---|---|
カレントディレクトリ └xxxx_ABC_X └sample_XXX.indb |
カレントディレクトリ └xxxx_ABC_X └sample_ABC.indb |
for i in ./*/*.indb; do rename -s XXX "$(dirname "$i" | xargs -I{} basename {} | sed -E "s/.*([A-Z]{3}).*/\1/")" "$i"; done
rename
の基本的な記述は以下の通り。
例:「sample_hoge.txt」ファイルのファイル名の一部の「hoge」を「fuga」に置換。
rename -s hoge fuga sample_hoge.txt
参考ページ: