bashにて変数substring処理をする (2) -パターン除外-

以前 string manipulation を使って文字数を指定した形での substring 処理を紹介した。その方法でもうまく文字数制御できるなら処理ができるが、パターンを使って処理をしたい場合、少ししんどくなる。

構文

ということで、今回はパターンで除外する方法を紹介。

一致方向 マッチ長さ 記述
前方一致 最小長 ${変数#パターン}
最大長 ${変数##パターン}
後方一致 最小長 ${変数%パターン}
最大長 ${変数%%パターン}

利用例

以下のように利用できる。

例1) .jpeg という拡張子の複数のファイルの拡張子を .jpg に変更したい

for file in *.jpeg;do mv $file ${file%jpeg}jpg;done

例2) ImageMagick の convert コマンドにて png ファイルのサイズを 50% にし、ファイル名の接尾辞を -50percent.png にしたい

for file in *.png;do convert $file -resize 50% ${file%.png}-50percent.png;done

Pasted_Image_2_20_19__17_27

参照

http://tldp.org/LDP/abs/html/string-manipulation.html

コメントを残す

メールアドレスが公開されることはありません。