Reorganizando a lista de números para fazer uma matriz

3

Estou tentando escrever um script para alterar o seguinte conjunto de números

2.659980
3.256998
4.589778
2.120150

2.223365
2.325566
2.121112
3.020111

4.065112
0.221544
1.236665
1.395958

para o seguinte formulário (essencialmente fazendo uma matriz de uma lista de números que são separados por uma linha vazia)

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

Alguém pode ajudar como conseguir isso?

    
por ankit7540 12.12.2016 / 04:36

2 respostas

4

Com rs(1) de * BSD, supondo que o arquivo de entrada esteja bem formado:

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

Uma abordagem awk pura

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
    
por 13.12.2016 / 23:11