obtener una pestaña de un vector

obtener una pestaña de un vector

si tengo la primera línea de mi archivo con este aspecto

NAMES           n1  n2  n3

entre la fila1 y t1 hay dos pestañas, pero solo debe haber una pestaña... la línea está en un archivo más grande y siempre está en la primera línea. ¿Cómo puedo eliminar demasiadas pestañas entre la FILA 1 y la primera entrada posterior?

NAMES   n1  n2  n3

Respuesta1

Usando perl:

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

Agregue el -iinterruptor para reemplazo en línea

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

Para reemplazar todo \t\t, no solo entre la primera y la segunda columna, use

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

o para reemplazar todo \tcon un recuento mayor que 1

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

Ejemplo

$ 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    

o con tu ejemplo:

$ 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

información relacionada