以前 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
参照
http://tldp.org/LDP/abs/html/string-manipulation.html