![sed를 사용하여 || 기호를 |""|로 바꾸는 방법](https://linux55.com/image/57640/sed%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%7C%7C%20%EA%B8%B0%ED%98%B8%EB%A5%BC%20%7C%22%22%7C%EB%A1%9C%20%EB%B0%94%EA%BE%B8%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
|
구분 기호로 사용하는 파일이 있습니다 . 일부 레코드에는 빈 셀이 있습니다 ||
(아무것도 없음). 나는 |""|
그것을 다음 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///
라벨로 이동