행렬을 형성하기 위해 숫자 목록을 재배열

행렬을 형성하기 위해 숫자 목록을 재배열

다음 숫자 집합을 변경하는 스크립트를 작성하려고 합니다.

2.659980
3.256998
4.589778
2.120150

2.223365
2.325566
2.121112
3.020111

4.065112
0.221544
1.236665
1.395958

다음 형식의 행렬을 만듭니다(기본적으로 빈 줄로 구분된 숫자 목록).

2.659980    2.223365    4.065112
3.256998    2.325566    0.221544
4.589778    2.121112    1.236665
2.120150    3.020111    1.395958

누군가 이것을 달성하는 방법에 대해 나를 도울 수 있습니까?

답변1

*BSD의 경우 rs(1)입력 파일의 형식이 올바르다고 가정합니다.

rs -C -t $( awk '/^$/ { print NR-1; exit }' file ) <file

답변2

순수한 awk 방법

awk '{a[NR%5]=a[NR%5] $0 " "}END{printf "%s\n%s\n%s\n%s\n",a[1],a[2],a[3],a[4]}' file

관련 정보