3개 항목 그룹으로 텍스트 파일 연결

3개 항목 그룹으로 텍스트 파일 연결

다음과 같은 텍스트 파일이 있습니다.

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

설명: 줄 번호에 따라 출력 레코드 구분 기호가 세미콜론이나 개행 문자로 설정됩니다.

관련 정보