GNU/Linux >> Tutoriales Linux >  >> Linux

Usando awk para imprimir todas las columnas desde la enésima hasta la última

Hay una pregunta duplicada con una respuesta más simple usando cortar:

 svn status |  grep '\!' | cut -d\  -f2-

-d especifica el delimitador (espacio) , -f especifica la lista de columnas (todas comenzando con la 2da)


Imprimir todas las columnas:

awk '{print $0}' somefile

Imprima todo menos la primera columna:

awk '{$1=""; print $0}' somefile

Imprima todas menos las dos primeras columnas:

awk '{$1=$2=""; print $0}' somefile

Podría usar un ciclo for para recorrer los campos de impresión $2 a $NF (variable integrada que representa el número de campos en la línea).

Editar:dado que "imprimir" agrega una nueva línea, querrá almacenar en búfer los resultados:

awk '{out=""; for(i=2;i<=NF;i++){out=out" "$i}; print out}'

Alternativamente, use printf:

awk '{for(i=2;i<=NF;i++){printf "%s ", $i}; printf "\n"}'

Linux
  1. ¿Cuándo fue la última vez que usó Windows?

  2. Usando Reddit desde la consola en 2020

  3. Uso de Google Drive desde la línea de comandos de Linux

  4. ¿Imprimir línea coincidente y línea enésima de la línea coincidente?

  5. ¿Reemplazar todas las líneas nuevas al espacio excepto la última?

Tutorial sobre el uso del último comando en la terminal de Linux

Eliminar todos los archivos de una carpeta excepto el último (más reciente) 20?

Linux – ¿Imprimir memoria libre total desde `free -m`?

¿Cómo cortar las primeras n y las últimas n columnas?

Cómo imprimir miembros de un objeto C++ usando GDB desde una dirección si el tipo de clase del objeto es como A::B

Significados de las columnas en el último comando