![sed를 사용하여 텍스트 형식을 변경하는 방법은 무엇입니까?](https://linux55.com/image/50806/sed%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%ED%85%8D%EC%8A%A4%ED%8A%B8%20%ED%98%95%EC%8B%9D%EC%9D%84%20%EB%B3%80%EA%B2%BD%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
cat > inputfile
X1 a1,b1,c1,d1.................. dn
X2 a2,b2,c2,d2.................. and so on upto n
................................................
................................................
Xn an,bn,cn,dn....................and so on upto n
출력 형식:
X1 a1 +
b1 +
c1 +
.
.
.
.
X2 a2 +
b2 +
c2 +
.
.
.
and so on
나는 다음과 같은 것을 시도하고 있습니다.
sed ':b;s/,/\
/;tb;s/\
/ +/g'
b1 +,c1 +....
참고: 등 앞에 탭을 추가해야 합니다 .b2 +,c2 +,...
답변1
다음 입력 파일이 주어지면:
X1 a1,b1,c1,d1
X2 a2,b2,c2,d2
X3 a3,b3,c3,d3
X4 a4,b4,c4,d4
sed 사용(bash 사용ANSI-C 인용문명확성을 위해):
sed $'s/,/ +\\\n\t/g' inputfile
X1 a1 +
b1 +
c1 +
d1
X2 a2 +
b2 +
c2 +
d2
X3 a3 +
b3 +
c3 +
d3
X4 a4 +
b4 +
c4 +
d4
sed는 개행 문자 앞에 백슬래시를 보아야 합니다. 그렇지 않으면 "종료되지 않은 s 명령" 오류가 발생합니다.