【bash使用例】正規表現な条件文&文字抽出【BASH_REMATCH】
シェルスクリプト関連の備忘録になります。
基本系
$ cat wrk.sh
#!/bin/bash
VAL="ABC123abcz"
if [[ $VAL =~ ABC(.*)abc(.) ]] ; then
echo ${BASH_REMATCH[0]}
echo ${BASH_REMATCH[1]}
echo ${BASH_REMATCH[2]}
else
echo "NOT MATCH"
fi
$ ./wrk.sh
ABC123abcz
123
z
検索ヒットした部分だけ抽出されます
検索ワードを少し短くしてみる。
$ cat wrk.sh
#!/bin/bash
VAL="ABC123abcz"
if [[ $VAL =~ BC(.*)abc(.) ]] ; then
echo ${BASH_REMATCH[0]}
echo ${BASH_REMATCH[1]}
echo ${BASH_REMATCH[2]}
else
echo "NOT MATCH"
fi
$ ./wrk.sh
BC123abcz
123
z
関連リンク