2018年1月21日日曜日

シェルスクリプトで複数ファイル名を一括置換

ファイル名の末尾が _.mp3 のファイル名を .mp3 に変換
for i in `ls *_.mp3`; do mv $i ${i/_.mp3/.mp3} ; done 
for i in  *_.mp3; do mv $i ${i/_.mp3/.mp3} ; done
 
詳しくは以下の機能があるようだ。
後方一致の方がよいか?
${変数名#パターン} → 前方一致でのマッチ部分削除(最短マッチ)
${変数名##パターン} → 前方一致でのマッチ部分削除(最長マッチ)
${変数名%パターン} → 後方一致でのマッチ部分削除(最短マッチ)
${変数名%%パターン} → 後方一致でのマッチ部分削除(最長マッチ)
${変数名/置換前文字列/置換後文字列} → 文字列置換(最初にマッチしたもののみ)
${変数名//置換前文字列/置換後文字列} → 文字列置換(マッチしたものすべて)

このサイトから引用させていただいた。
http://d.hatena.ne.jp/ozuma/20130928/1380380390

0 件のコメント:

コメントを投稿