bashのif文 で正規 表現 を使用 する方法
bashのif
1.問題 点
#!/bin/bash
foo=abc123efg
ということで、bashのif
2.if文 で正規 表現 を使用 する
if
#!/bin/bash
foo=abc123efg
if [[ ${foo} =~ ^[a-z]+([0-9]+).*$ ]]; then
echo ${BASH_REMATCH[1]}
fi
123
ポイントは
- if
文 はブラケット(大 カッコ)を二 重 にする 演算 子 は"=~"正規 表現 はクォーテーションで括 らない(正規 表現 で特別 扱 いの文字 がバックスラッシュでエスケープされるため)後方 参照 (カッコで囲 った部分 )は ${BASH_REMATCH[1]} で取得 (複数 ある場合 、[2][3]…で取得 )
Perl
\w→[:alnum:]
\d→[:digit:]
\s→[:blank:]
if
#!/bin/bash
foo=abc123efg
if [[ ${foo} =~ ^[a-z]+([[:digit:]]+).*$ ]]; then
echo ${BASH_REMATCH[1]}
fi
123
3.参考 サイト
Posted by yujiro このページの先頭 に戻 る
- シェルスクリプトのexpectで
応答 メッセージを振 り分 ける方法 - bashでPostgreSQLのselect
結果 を出力 する方法 - bashでbackspaceが
動作 しない場合 の対処 - bashの
変数 から最後 の1文字 を取得 ・削除 する方法 - bashのwhile
文 で利用 した変数 がループ外 で反映 されない場合 の対処 - bashのechoでアスタリスク「*」がワイルドカードとして
展開 される場合 の対処 - bashの
正規 表現 でスペース(空白 )を判定 する方法 - bashで
文字 列 の長 さを調 べる方法 - bashで
数値 を判定 する方法 - bashで
小数点 を比較 する方法 - bashの
配列 をjoinする方法 - Bashで
変数 を大文字 または小文字 に変換 する方法 - bashの
変数 をsplitして配列 を作 る方法 - シェルスクリプトでtelnet
接続 する方法 - bashで
小数点 を比較 する方法
トラックバックURL
コメントする
コメントするにはまずサインインしてください。