
ABCXXX.XXX.XXX
以下に記載されている動的文字列がありますが、ここで文字まで文字列を取得したいと思います,
。開始文字は大文字でのみ固定され、(ABC)
終了文字もcom
またはで固定されますXcom
。
文字列は次のとおりです。
S1= "10.10.10.10 (XXXX,ABC123.sub.domain.Xcom,XXX,XX - abc123 ) ANY
S2= "10.10.10.10 (ABC567.subd.domain.com, - ) ANY
出力で必要なものは次のとおりです。
S1= ABC123.sub.domain.com
S2= ABC567.subd.domain.Xcom
私は試した:
$1=ABC # argument
echo $S1| grep -o -P '(?=<$1).*(?=com,)'
出力は次のとおりです
123.sub.domain.X # But it should be ABC123.sub.domain.Xcom
シェルスクリプトを使って切り取るのに役立つ人はいますか?
答え1
これがあなたに役立つことを願っています。
$ S1= "10.10.10.10 (XXXX,ABC123.sub.domain.Xcom,XXX,XX - abc123 ) ANY
$ echo $S1 | grep -o "ABC.*com"
ABC123.sub.domain.Xcom