Expandir comando não está funcionando

1

Estou tentando converter todas as guias em espaços usando o comando expand.

Comando: cat department.txt

Saída:

1           QA 
2           DEV
3           OPS

Na execução, expanda department.txt; a saída ainda é a mesma.

Eu verifiquei que meu arquivo contém caracteres de tabulação usando od -c. Alguém pode explicar por que a expansão não está funcionando?

UPDATE: As muru pointed out in below comment; I was having wrong expectations from expand command, i was expecting tabs to be converted to single space; which caused the confusion. Expand command converts tab to equivalent spaces.

    
por LoveWithMaths 08.04.2018 / 07:48

1 resposta

1

Para converter tabulações em espaços únicos cada, você ainda pode usar expand , com as tabstops definidas como 1 em vez do padrão 8:

$ expand foo
1       QA
2       DEV
3       OPS
$ expand -t1 foo
1 QA
2 DEV
3 OPS

No entanto, isso ainda expande as guias consecutivas para espaços individuais:

$ vim foo
$ expand foo
1               QA
2               DEV
3               OPS
$ expand -t1 foo
1  QA
2  DEV
3  OPS

Dependendo do comportamento desejado, você pode usar isso ou tr :

$ tr -s '\t' ' ' < foo
1 QA
2 DEV
3 OPS
    
por 08.04.2018 / 08:09