LoginSignup
0
0

More than 5 years have passed since last update.

下層ディレクトリのファイル名を正規表現で一括置換したときのメモ

Last updated at Posted at 2018-05-13

下層ディレクトリのファイル名を正規表現で抽出して一括置換したときのメモです。

こういう単純な置換ですが、正規表現でのやり方がわからなかったので試行錯誤しました。

rename.sh
mv ./Bambuu/s1.jpg ./Bambuu/1s.jpg
mv ./Bambuu/m2.jpg ./Bambuu/2m.jpg
mv ./Bambuu/f3.jpg ./Bambuu/3f.jpg

確認

rename_confirm.sh
find . -regex .*[smf][123]\.jpg | sed -e 's/\(.*\)\([smf]\)\([123]\)\.jpg/mv \1\2\3\.jpg \1\3\2.jpg/'

実行

rename.sh
find . -regex .*[smf][123]\.jpg | sed -e 's/\(.*\)\([smf]\)\([123]\)\.jpg/mv \1\2\3\.jpg \1\3\2.jpg/' | sh

分解

コマンド 目的
find -regex 正規表現で探索
sed -e  置換しコマンドを追加
sed 's/<置換前>/<置換後>/' <置換前>を<置換後>に置換
sed 's/\(\)//' ()は\でエスケープしなければならない
\1 1番目の()を挿入
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0