Por que este unexpand não funciona?

1

Entendo que unexpand pode substituir vários espaços por guias.

Eu tenho um arquivo, x.x com conteúdo

1  2   3  4 5

e eu digito expand x.x , mas a saída ainda é

1  2   3  4 5

e não parece ter guias agora. O que estou perdendo?

Similarmente, expand x.x -t20 ainda parece dar o mesmo resultado

    
por Michael Durrant 09.09.2013 / 16:50

1 resposta

5

expand expande as guias (com base em até onde você especificar as paradas de tabulação) e unexpand unexpandas.

$ printf '1\t2\t3\n' | expand -t12 | tr ' ' _
1___________2___________3

(expanda as guias com tabulações a cada 12 colunas).

$ echo 1___________2___________3 | tr _ ' ' | unexpand -t4 | tr '\t' t
1ttt2ttt3

(unexpand com paradas de tabulação a cada 4 colunas).

Se sua entrada não tiver TAB caracteres, expand não fará nada sobre ela.

        0         1
        0123456789012
$ echo '1  2   3  4 5' | unexpand -t 3,7,10,12 | tr '\t' t
1t2t3t4 5

(não substituirá um único espaço por uma guia)

    
por 09.09.2013 / 17:07