파일의 전화번호 수정

파일의 전화번호 수정

내 .txt 파일에 다음 전화번호가 있다고 가정해 보겠습니다.

(682) 543-7890 

이 번호를 변경하려면 세 개의 sed 명령이 필요합니다.

  1. 괄호 안의 숫자(어떤 숫자든 가능)를 800
    예시 텍스트로 바꿔야 합니다.
(800) 543-7890
  1. 다음으로 브래킷을 제거해야 합니다.
    예시 텍스트:
800 543-7890
  1. 마지막 부분에서는 지역 번호와 나머지 숫자 사이의 공백에 대시를 추가해야 합니다.
    예시 텍스트:
800-543-7890

내가 현재 시도한 것은 sed -e 's/([^()]*)//g'대괄호와 내부의 모든 것을 제거합니다.

답변1

한 번의 sed호출로 충분합니다.

sed 's/(.*) */800-/'

답변2

명령이 sed -e 's/([^()]*)//g'거의 작동하지만 몇 가지 조정만 하면 됩니다.

# You don't need greedy command 'g'
# you have to account for the space
# you have to make the substitution
$ sed -e 's/([^()]*) */800-/'
800-543-7890

물론, 허용된 답변에서 알 수 있듯이 이를 수행하는 더 쉬운 방법이 있습니다.

관련 정보