我有下面提到的动态字符串,我想在其中获取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
谁能帮忙用shell脚本来剪切它?
答案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