- 877 名前:login:Penguin mailto:sage [2012/01/20(金) 20:50:55.54 ID:JCE/MJeu]
- >>862見てbashでの正規表現の使用方法について調べてみたら
[[ str =~ re ]] などという便利なものがあったのか。 知ってたら簡略化できた過去のスクリプト結構あるな(トホホ) #! /bin/bash re1=[1-9]*[1-9] re2=[1-9].*[1-9] strings="a 1 01 10 12 000 010 100 102 012 a01b2cdefg3hi" echo test-1 RE pattern: $re1 echo test-2 RE pattern: $re2 echo ------------------------------- for str in $strings; do echo STRING: $str if [[ $str =~ $re1 ]]; then echo "test-1 matched -> " $BASH_REMATCH else echo "test-1 NOT matched" fi if [[ $str =~ $re2 ]]; then echo "test-2 matched -> " $BASH_REMATCH else echo "test-2 NOT matched" fi echo done この結果が CentOS と RHEL で違いがあるとは思えんが 取り敢えず勉強にはなった。ありがとう >>862 日本語版の manpage にはないけど英語版には出てるのね。 日本語版更新しないんだろか。
|

|