Saltar al contenido

SED eliminar columna csv si existe

Si encuentras algún detalle que te causa duda puedes comentarlo y haremos todo lo posible de ayudarte rápidamente.

Solución:

Con perl

$ perl -F't' -lane '@non_ref_cols = grep  $F[$_] ne "REF"  0..$#F if $. == 1;
                     print join "t", @F[@non_ref_cols]' ip.txt
GENE    ALT
AKT     G
AKT     G
  • -F't' usar tabulador como separador de campos
  • @non_ref_cols = grep $F[$_] ne "REF" 0..$#F if $. == 1 para la línea de encabezado, obtenga el índice de todos los campos que NO son REF
  • print join "t", @F[@non_ref_cols] imprimir todos los campos usando el índice array obtuvimos para la línea de encabezado, usando tabulador como separador de campo

Hola, Miller (http://johnkerl.org/miller/doc) y este input.csv

GENE,REF,ALT
AKT,A,G
AKT,G,G

es muy fácil

mlr --csv cut -x -f REF input.csv

la salida es

GENE,ALT
AKT,G
AKT,G

valoraciones y reseñas

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *