ぼんやりDTP

DTPに関係したりしなかったりするぼんやりとした話をなんとなく。

macのターミナルでカレントディレクトリのフォルダの中の特定のファイルを移動したりリネームする

macのターミナルでカレントディレクトリのフォルダの中の特定のファイルを移動したりリネームする

例:カレントディレクトリの1つ下の「〜0?.indd」ファイルを対象ファイルと同じディレクトリの「CS5.5」ディレクトリに移動

for i in ./*/*0?.indd; do mv -i "$i" "$(dirname "$i")/CS5.5/"; done

例:カレントディレクトリの1つ下の「〜_CS6.indd」ファイルの「_CS6.indd」を「.indd」にリネーム

for i in ./*/*_CS6.indd; do rename -s _CS6.indd .indd $i; done

例:カレントディレクトリの1つ下の「〜/〜.pdf」ファイルの「〜.pdf」のファイル名の先頭に「hoge_」を付加する

for i in ./*/*.pdf; do mv -i "$i" "$(dirname "$i")/hoge_$(basename "$i")"; done

例:カレントディレクトリの1つ下の「hoge/〜.png」ファイルを「/Users/fuga/fuga_hoge/Links/」に複製

TARGETPATH="/Users/fuga/fuga_"
for i in ./*/*.png; do cp -p "$i" "$(dirname "$i" | sed -E "s#\./(.+)#$TARGETPATH\1/Links/#")"; done

参考ページ:

  1. 【Linuxでの移動】オプション含めて紹介!mvコマンドの詳細まとめ
  2. コマンド:mv: UNIX/Linuxの部屋
  3. Bashによるパス名の展開まとめ | Linux Fan
  4. 【 mv 】 ファイルやディレクトリの移動 【 Linuxコマンドまとめ 】 | Linux Fan
  5. UNIXのワイルドカード
  6. Linuxでフルパスからファイル名のみ取り出す方法 | 俺的備忘録 〜なんかいろいろ〜