“Colocar colunas antes das linhas” opção no comando unix column

3

De acordo com man column :

 -x      Fill columns before filling rows.

Esta opção não parece fazer nada. Alguma idéia de como usá-lo?

    
por balki 11.10.2013 / 00:53

2 respostas

5

Isso entra em jogo com a opção -c Output is formatted for a display columns wide. . Melhor explicado com um exemplo

cat test.file2
1 a b c d e f g h
2 a b c d e f g h
3 a b c d e f g h
4 a b c d e f g h
5 a b c d e f g h
6 a b c d e f g h

Quando a saída é formatada para uma exibição de 80 colunas, column preenche as linhas primeiro

column -c 80 test.file2 
1 a b c d e f g h       3 a b c d e f g h       5 a b c d e f g h
2 a b c d e f g h       4 a b c d e f g h       6 a b c d e f g h

Quando a opção -x Fill columns before filling rows. é passada, acontece o contrário

column -c 80 -x test.file2 
1 a b c d e f g h       2 a b c d e f g h       3 a b c d e f g h
4 a b c d e f g h       5 a b c d e f g h       6 a b c d e f g h
    
por 11.10.2013 / 01:41
2

Ordem de preenchimento:

$ cat col
01 02 03 04 05 06 07
08 09 10 11 12 13 14 
15 16 17 18 19 20 21 
22 23 24 25 26 27 28 
29 30 31 32

$ column col
01 02 03 04 05 06 07    15 16 17 18 19 20 21    29 30 31 32
08 09 10 11 12 13 14    22 23 24 25 26 27 28 

$ column -x col
01 02 03 04 05 06 07    08 09 10 11 12 13 14    15 16 17 18 19 20 21 
22 23 24 25 26 27 28    29 30 31 32

Que também pode afetar o número de linhas / colunas:

$ column col
01 02 03 04    13 14 15 16    25 26 27 28    37 38 39 40
05 06 07 08    17 18 19 20    29 30 31 32    41
09 10 11 12    21 22 23 24    33 34 35 36

$ column -x col
01 02 03 04    05 06 07 08    09 10 11 12    13 14 15 16    17 18 19 20 
21 22 23 24    25 26 27 28    29 30 31 32    33 34 35 36    37 38 39 40
41
    
por 11.10.2013 / 01:45

Tags