Macでディレクトリ以下にあるファイル名を再帰的に変更
Macでファイル名一括置き換え
LinuxとHomebrewではrenameというコマンドがある模様ですが、
私が使っているのはmacportsなのでrenameコマンドは直接はありませんでした。
しょうがないのでfindとxargsを使ってファイル名を変更することに
こんな感じのファイル構成
image/
- 1
- thum_xxxxx.jpg
- thum2_xxxxx.jpg
- thum_aaaaa.jpg
- thum2_aaaaa.jpg
- 2
- thum_yyyyyy.jpg
- thum2_yyyyyy.jpg
- 3
- thum_zzzzzz.jpg
- thum2_zzzzzz.jpg
画像を入れるディレクトリにサムネイルが二種類存在して、
1. thum_xxxx.jpg
2. thum2_xxxx.jpg
thum2_xxxx.jpg を thum_xxxx.jpgに変更したいと言うのが始まり
とりあえずthum_xxxx.jpgをディレクトリを再帰的に探して消す
$ find ./image/ -type f | xargs rm
これで各ディレクトリのthum_xxxx.jpgが消える
ファイル名を置き換える
次にthum2_xxx -> thum_xxxに置き換える作業、
間にsedコマンドでファイル名を変更するのがみそらしい
$ find . -type f | sed 'p;s/thum2_/thum_/' | xargs -n2 mv
image
- 1
- thum_xxxxx.jpg
- thum_aaaaa.jpg
- 2
- thum_yyyyyy.jpg
- 3
- thum_zzzzzz.jpg
こんな感じになっていればok
-
前の記事
ブログサイトジェネレータ Hexo 2017.03.06
-
次の記事
minicssの簡易リファレンス 2017.07.05
コメントを投稿するにはログインしてください。