다음 줄이 포함된 텍스트 파일이 있습니다.
Maynard G. Krebs , ss #111−22−3333, the goofy but lovable beatnik in The Many
Loves of Dobie Gillis. None of the show's episodes ever specified Gilligan's
#111-22-3333
sed를 사용하여 숫자를 로 바꾸는 방법은 무엇입니까 xxx-xx-xxxx
?
내 sed 스크립트에 있는 내용은 다음과 같습니다.
s/([0-9]{3}-[0-9]{2}-[0-9]{4})/xxx-xx-xxxx/g
내가 실행합니다.sed -f redact.sed redact.txt
답변1
대괄호를 제거하십시오. 그렇지 않으면 Sed는 파일에서 대괄호를 일치시키려고 시도합니다.
{n}
확장 정규식의 일부입니다. Sed에 플래그를 제공-E
하여 활성화하거나(sed -Ef redact.sed redact.txt
) 각 중괄호를 이스케이프하세요.파일에는 일종의 대시(0xE28892)가 포함되어 있습니다. 이는 이전 0x2D ASCII가 아니므
-
로 이를 Sed 표현식에도 입력해야 합니다.sed 's/[0-9]\{3\}−[0-9]\{2\}−[0-9]\{4\}/xxx-xx-xxxx/g' sed -E 's/[0-9]{3}−[0-9]{2}−[0-9]{4}/xxx-xx-xxxx/g'