5分で覚えて超捗る、bashのパターン照合演算子
パターン照合演算子の使い方
たとえば、bashで変数FILEが下記のように宣言されていたとします。FILE=/etc/httpd/conf/httpd.conf
このとき、下記のような結果になります。| 式 | 結果 |
|---|---|
| ${FILE#/*/} | httpd/conf/httpd.conf |
| ${FILE##/*/} | httpd.conf |
| ${FILE##*.} | conf |
| ${FILE%conf*} | /etc/httpd/conf/httpd. |
| ${FILE%%conf*} | /etc/httpd/ |
| ${FILE%.*} | /etc/httpd/conf/httpd |
ルール
| 演算子 | 結果 |
|---|---|
| ${VAR#pattern} | 変数VARの最初からpattern検索し、一致した最短部分を除去して、残りを返す。 |
| ${VAR##pattern} | 変数VARの最初からpattern検索し、一致した最長部分を除去して、残りを返す。 |
| ${VAR%pattern} | 変数VARの末尾からpattern検索し、一致した最短部分を除去して、残りを返す。 |
| ${VAR%%pattern} | 変数VARの末尾からpattern検索し、一致した最長部分を除去して、残りを返す。 |
若干記法がキモイですが、意地でもsedを使いたくないときには大変便利です。
Enjoy!
カテゴリ:
Bash