다음과 같은 텍스트 파일이 있습니다.
X0122
Yellow Car
$1200
YK321
Black Car
$400
BZ321132
Red Boat
$2344
각 줄은 로 구분됩니다.\n
3개의 요소를 .로 구분하여 행으로 결합하고 싶습니다 ;
. 따라서 파일은 다음과 같이 변환됩니다.
X0122;Yellow Car;$1200
YK321;Black Car;$400
BZ321132;Red Boat;$2344
유닉스에서 이 작업을 어떻게 수행할 수 있나요?
참고: 이러한 파일에는 á, ó, ã와 같은 악센트 문자와 작은따옴표가 포함될 수 있으며 명령에 file
명시된 대로 "긴 줄이 포함된 UTF-8 유니코드 영어 텍스트"로 인코딩됩니다.
답변1
당신은 그것을 사용할 수 있습니다반죽:
$ paste -sd';;\n' file
X0122;Yellow Car;$1200
YK321;Black Car;$400
BZ321132;Red Boat;$2344
답변2
그리고 awk
:
awk 'ORS=NR%3?";":RS'
산출:
X0122;Yellow Car;$1200
YK321;Black Car;$400
BZ321132;Red Boat;$2344
설명: 줄 번호에 따라 출력 레코드 구분 기호가 세미콜론이나 개행 문자로 설정됩니다.