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