기호를 바꾸는 방법 || |""|로 sed 사용

기호를 바꾸는 방법 || |""|로 sed 사용

|구분 기호로 사용되는 파일이 있습니다 . 일부 레코드에는 빈 셀이 있습니다 ||(내부에는 아무것도 없음). |""|다음 sed 명령으로 대체하려고합니다 .

sed -i 's/\|\|/\|""|/g' file

하지만 결과는 내가 기대했던 것과 달랐다.

입력 파일

A|B|C|D|||E

원하는 출력:

A|B|C|D|""|""|E

레코드의 시작과 끝에는 "|"가 없습니다.

어떤 도움이라도 주시면 감사하겠습니다.

답변1

출력이 변경되지 않을 때까지 대체를 반복하십시오.

$ echo 'A|B|C|D|||E' | sed ':X;s/||/|""|/g;tX'
A|B|C|D|""|""|E

어디

  • :X라벨을 설정합니다X
  • t X성공 X하면 라벨로 이동s///

관련 정보