sed 스크립트의 "'s' 명령의 RHS에서 잘못된 참조 \1"

sed 스크립트의 "'s' 명령의 RHS에서 잘못된 참조 \1"

예를 들어, 다음은 md5sum 명령의 출력입니다.

35c9581c469c366e286be708a9d9f939 input.txt

이것은 내가 실행 중인 명령줄입니다.

md5sum input.txt | sed -f script.sed

md5sum의 출력이 다음과 같기를 원합니다.

35c9xxxxxxxxxxxxxxxxxxxxxxxxxxxx input.txt

현재 내 .sed 스크립트에는 다음이 포함되어 있습니다.

:a s/^(.{4}x{0,})[^x ]/\1x/;ta

이 오류가 계속 발생합니다.

sed: file script.sed line 2: invalid reference \1 on `s' command's RHS

이유는 모르겠습니다. 혹시 해결방법이나 더 좋은 방법 아시는 분 계시면 알려주세요.

답변1

sed -E가능한 경우 확장 정규식을 사용해야 합니다 )또는이스케이프 중괄호 및 괄호:

:a s/^\(.\{4\}x\{0,\}\)[^x ]/\1x/;ta

관련 정보