sed를 사용하여 전화번호 교체

sed를 사용하여 전화번호 교체

내 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

관련 정보