3줄의 텍스트를 한 번에 1줄로 표시하는 방법은 무엇입니까?

3줄의 텍스트를 한 번에 1줄로 표시하는 방법은 무엇입니까?

한 번에 3줄의 데이터를 표시하는 로그 파일이 있습니다. 이와 같이:

1 data   
2 data   
3 data   
1 data   
2 data   
3 data   
1 data   
2 data   
3 data

다음과 같이 1줄에 3줄씩 표시하고 싶습니다.

1 data 2 data 3 data  
1 data 2 data 3 data  
1 data 2 data 3 data

나는 이 파일을 캡처한 다음 이 작업을 수행하는 명령을 통해 전송할 수 있기를 원합니다. 나는 sed 또는 awk가 해결책이라고 생각합니다.

답변1

다음을 사용할 수 있습니다 paste.

$ paste - - - <data.txt
1 data      2 data      3 data   
1 data      2 data      3 data   
1 data      2 data      3 data

답변2

한 가지 방법은 다음과 같습니다.

$ perl -pe 's/\n/ / unless $. % 3 == 0' file 
1 data    2 data    3 data   
1 data    2 data    3 data   
1 data    2 data    3 data

답변3

또는 sed두 줄을 "N"으로 삭제한 다음 결과 버퍼에서 줄 바꿈을 억제할 수 있습니다.

sed 'N;N;s/\n/ /g'

관련 정보