ayuda con comando grep

D

buenas

Estoy liado con un script y en él con el comando grep. Básicamente necesito conseguir mostrar por pantalla una parte de una línea de texto concreta. Por ejemplo, con el fichero /etc/group tenemos varias lineas de texto como:

gdm:x:119
admin:x:administrador,carlos,sanchez,paco
haldaemon:x:114

etc..

Bien, necesito mostrar por pantalla o guardarlo en una variable (da igual) la porción de la linea de texto que está en negrita.

He probado varias opciones de grep pero o me muestra toda la linea o nada :(

Saludos

ElRuso

Usa awk
O prueba con sed, es algo mas simple que awk pero no estoy seguro 100% que puede hacer lo que quieres.

B

Éste es mi kungfu!!:

cat /etc/group|awk -F : '{print $3 $4 $5}'

Suponiendo que quieras mostrar lo de todas las lineas
Si es una linea específica metele un filtro con grep antes.

D

mañana lo pruebo. Y si, noes una linea sola, hay varias que cumplen esa condicion

D

#3 creo que me sirve :) pero no tengo muy claro que hace awk ahi xD

Si no t importa explicarmelo, te lo agradecería :)

0buS

http://es.wikipedia.org/wiki/AWK

te separa los campos.

erdanblo

#5 Yo soy un poco inútil de AWK, pero el ejemplo "cat /etc/group|awk -F : '{print $3 $4 $5}'" lo he entendido xD, asi que te lo explico.

Primero lee el fichero (cat, obviusly) y luego, con la tuberia ( '|' ) trata la salida con awk. (hasta aqui, bash para newbies :P)

luego fijate que -F ":" y a continuación ejecuta un comando, print $3 $4 $5. ":" es el carácter que quieres que te corte (y el resto son las cadenas resultantes).

si le dices print $1 te sacará "admin" y si le dices $2, sacará "x".

XD, espero que nadie se moleste, pero para uno que entiendo, me hacía ilusión explicarlo.

D

#7 thanks, ya lo entendí ayer xD de hecho, solo he tenido que modificar los campos que me ha de mostrar q el q me interesa es el $4 :)

Get

joder, cuando quereis no os supera nadie ayudando ....

D

#9 eso es porque hago una pregunta interesante y sin dar rodeos xD nada del estilo :"Que linux es mejóh pa jugá al counter?"

Get

sera eso.

vi abrir un tema aver si alguien se luce.

Usuarios habituales

Tags