내 txt 파일에 전화번호가 포함되어 있는데 이를 . (233)- 332-9888
로 바꾸고 싶습니다 . 확장 모드에서 하고 있는데 문제는 첫 번째 괄호를 일치시키는 방법을 모른다는 것입니다.###-###-####
s|[0-9]{3}-[0-9]{3}-[0-9]{4}|###-###-####|g
[0-9]{3}
답변1
sed -E 's|\([0-9]{3}\)- [0-9]{4}-[0-9]{4}|###-###-####|g'
괄호는 확장 정규식에서 특별히 처리되므로 이스케이프 처리해야 합니다.
답변2
전화번호를 표준 10자리 NANP 유사 문자열(예: ###-###-####)로 바꾸려는 경우:
$ echo "(123) -456-7890" | sed 's/(\([0-9]\{3\}\)) -\([0-9]\{3\}-[0-9]\{4\}\)/###-###-####/g'
###-###-####
10자리 NANP 형식과 일치하도록 전화번호 형식을 다시 지정하려는 경우:
$ echo "(123) -456-7890" | sed 's/(\([0-9]\{3\}\)) -\([0-9]\{3\}-[0-9]\{4\}\)/\1-\2/g'
123-456-7890