입력하다:
$ echo -e 'AAAART5530408XXXX\nAAAAZE6530408XXXX\nAAAART12345678XXXX'
AAAART5530408XXXX
AAAAZE6530408XXXX
AAAART12345678XXXX
$
산출:
$ echo -e 'AAAART5530408XXXX\nAAAAZE6530408XXXX\nAAAART12345678XXXX' | sed -e 's/\(AAAA[A-Z]\{2\}[0-9]\{7\}\)XXXX/\n\1/g'
AAAART5530408
AAAAZE6530408
AAAART12345678XXXX
$
어떻게 연장할 수 있나요?
sed -e 's/\(AAAA[A-Z]\{2\}[0-9]\{7\}\)XXXX/\n\1/g'
선택적으로 허용할 수 있도록 sed oneliner
sed -e 's/\(AAAA[A-Z]\{2\}[0-9]\{8\}\)XXXX/\n\1/g'
그것도 8이라는 숫자인가요? (단지 7개가 아님) 1sed만 사용 가능한가요?
답변1
구성은 \{7\}
"최소 일치 및 최대 일치"의 간단한 경우입니다. 귀하의 경우에는 다음과 같습니다.\{m,n\}
m
n
sed -e 's/\(AAAA[A-Z]\{2\}[0-9]\{7,8\}\)XXXX/\n\1/g'
어쩌면 간단한 것일 수도 있습니다.
sed -s 's/XXXX//g'
귀하의 경우에는 그것으로 충분합니까?