GNU/Linux >> Tutoriales Linux >  >> Linux

Extracción de columnas del archivo de texto con diferentes delimitadores en Linux

Si el comando debe funcionar con tabulaciones y espacios como delimitador, usaría awk :

awk '{print $100,$101,$102,$103,$104,$105}' myfile > outfile

Siempre que solo necesite especificar 5 campos, está bien escribirlos, para rangos más largos puede usar un for bucle:

awk '{for(i=100;i<=105;i++)print $i}' myfile > outfile

Si quieres usar cut , necesitas usar el -f opción:

cut -f100-105 myfile > outfile

Si el delimitador de campo es diferente de TAB necesitas especificarlo usando -d :

cut -d' ' -f100-105 myfile > outfile

Consulte la página de manual para obtener más información sobre el comando de corte.


Puede usar cortar con un delimitador como este:

con espacio delimitado:

cut -d " " -f1-100,1000-1005 infile.csv > outfile.csv

con tabulador:

cut -d$'\t' -f1-100,1000-1005 infile.csv > outfile.csv

Te di la versión de corte en la que puedes extraer una lista de intervalos...

¡Espero que ayude!


Linux
  1. Permisos de archivo en Linux con ejemplo

  2. 10 ejemplos prácticos de comandos de corte de Linux para seleccionar columnas de archivos

  3. ¿Cómo ejecuto un programa con un directorio de trabajo diferente al actual, desde el shell de Linux?

  4. Cómo distinguir binarios de archivos de texto en Linux

  5. Elimine los primeros cinco caracteres en cualquier línea de un archivo de texto en Linux con sed

Comando de corte de Linux explicado con 6 ejemplos

Comando WC de Linux con ejemplos

Cómo crear directorios desde un archivo de texto en Linux

Cómo mostrar datos de un archivo de texto en Linux

Cómo extraer direcciones de correo electrónico de un archivo de texto en Linux

Copie el archivo de Linux a Windows Share con C# (.NET core)