
이와 같은 명령을 사용하여 3개의 csv 파일을 병합했습니다.
paste -d "," a.csv b.csv c.csv > result.csv
결과 csv에는 아래와 같이 각 행의 b.csv와 c.csv 열 사이에 예기치 않은 줄 바꿈 문자가 있습니다.
col-a1, col-a2, col-b1, col-b2, col-b3
,col-c1, col-c2 ...
b.csv는 원래 tsv였으며 다음 명령을 사용하여 csv로 변환되었습니다.
cut -f3-5 b.tsv | tr "\t" "," > b.csv
여기서 원본 b.tsv의 5번째 필드는 행의 마지막 필드입니다.
왜 \r이 있나요?
이를 감안할 때 붙여넣기 명령을 사용해야 합니다. 3 csv의 모든 열이 한 행에 있도록 줄 바꿈을 어떻게 제거합니까?
업데이트: 아래 설명에 대한 응답으로 이 명령의 출력은
LC_ALL=C sed -n 'l;2q' result.csv
다음과 같습니다:
col-a1, col-a2, col-b1, col-b2, col-b3\r,col-c1, col-c2$
...
답변1
의견에 대한 팁을 주신 Stéphane Chazelas에게 감사드립니다.
마침내 나는 답을 얻었다. 삭제의 경우 \r
tsv를 csv로 변환하는 명령은 다음과 같아야 합니다.
cut -f3-5 b.tsv | tr "\t" "," | tr -d "\r" > b.csv