se eu tiver a primeira linha do meu arquivo assim
NAMES n1 n2 n3
entre row1 e t1 existem duas guias, mas deve haver apenas uma única guia ... a linha está em um arquivo maior, está sempre na primeira linha. Como posso excluir muito a guia entre ROW1 e a primeira entrada depois, como
NAMES n1 n2 n3
Responder1
Usando perl
:
perl -pe 's/^(\w*)\t\t/$1\t/' <your_input_file>
Adicione a -i
opção para substituição em linha
perl -i -pe 's/^(\w*)\t\t/$1\t/' <your_input_file>
Para substituir all \t\t
, não apenas entre a 1ª e a 2ª coluna, use
perl -i -pe 's/\t\t/\t/' foo
ou para substituir tudo \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 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