Foros del Web » Administración de Sistemas » Unix / Linux »

Mostrar rango de campos con awk

Estas en el tema de Mostrar rango de campos con awk en el foro de Unix / Linux en Foros del Web. Hola a todos, tengo el siguiente script que filtra una serie de datos: awk ' $2~/model/ { mod = $3 $4 $5 $6 $7 $8} ...
  #1 (permalink)  
Antiguo 18/06/2015, 16:55
 
Fecha de Ingreso: febrero-2015
Mensajes: 56
Antigüedad: 9 años, 9 meses
Puntos: 1
Pregunta Mostrar rango de campos con awk

Hola a todos, tengo el siguiente script que filtra una serie de datos:

awk '
$2~/model/ { mod = $3 $4 $5 $6 $7 $8}
$3~/BW/ { mem = $4 }
$2~/name/ { sis = $3 }
$2~/version/ { ver = $3 }
$1~/CPUS/ { cpus = $2 }
END {print mod,mem,sis,ver,cpus }' $1

y lo que me gustaría en que en donde pone mod= $3 $4 $5 $6 $7 $8

pudiera tener mostrar todos los valores a partir de $3,es decir a partir de del tercer elemento mostrar todo lo que va a continuación.
No se si me he explicado correctamente.
Un saludo y gracias a todos
  #2 (permalink)  
Antiguo 22/06/2015, 12:18
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Mostrar rango de campos con awk

No hay una forma en el lenguaje AWK de hacer lo que pedís, la solución es bastante "a mano":
Código BASH:
Ver original
  1. awk '{ s = ""; for (i = 3; i <= NF; i++) s = s $i " "; print s }'
Lo que hace este bucle es crear una variable vacía "s", luego concatenarle los campos desde el 3 hasta el último (NF).


Saludos.

Etiquetas: awk
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:30.