obtém uma tabulação de um vetor

0

se eu tiver a primeira linha do meu arquivo com esta aparência

NAMES           n1  n2  n3

entre linha1 e t1 existem duas guias, mas deve haver apenas uma única guia ... a linha está em um arquivo maior e está sempre na primeira linha. Como posso excluir a guia muito entre ROW1 e a primeira entrada depois, como

NAMES   n1  n2  n3
    
por user3069326 07.07.2015 / 09:35

1 resposta

1

Usando perl :

perl -pe 's/^(\w*)\t\t/$1\t/' <your_input_file>

Adicione a opção -i para substituir in-line

perl -i -pe 's/^(\w*)\t\t/$1\t/' <your_input_file>

Para substituir todos os \t\t , não apenas entre a primeira e a segunda colunas, use

perl -i -pe 's/\t\t/\t/' foo

ou para substituir todos os \t por uma contagem maior que 1

perl -i -pe 's/\t{2,}/\t/g' foo

Exemplo

$ printf "%s\t\t%s %s\n" "foo" "bar" "foobar" > foo
$ perl -i -pe 's/^(\w*)\t\t/$1\t/' foo
$ cat foo
foo     bar foobar    

ou com o seu exemplo:

$ printf "%s\t\t%s %s %s\n" "ROW1" "t1" "t2" "t3" > foo
$ perl -i -pe 's/^(\w*)\t\t/$1\t/' foo
$ cat foo
ROW1    t1 t2 t3
    
por A.B. 07.07.2015 / 09:58