Linux - ¿Cómo averiguar línea n a partir de una palabra?

   
Vista:

¿Cómo averiguar línea n a partir de una palabra?

Publicado por vicente (2 intervenciones) el 12/03/2014 20:19:55
Hola buenas a todos!

Es la primera vez que pregunto en foros y escribo por un problema que tengo.
Tengo que hacer un script que me de el número de línea en el que se encuentra una palabra.
Ejemplo:
Un fichero que contiene:
....
<Directory /> # línea 250
Options Indexes # línea 251
</Directory> # así sucesivamente

<Directory /usr/share>
Options FollowSymLinks
</Directory>
....

Entonces quiero registrar en una variable el número de línea en el que se encuentra "<Directory />"

¿Alguien puede ayudarme?

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

¿Cómo averiguar línea n a partir de una palabra?

Publicado por xve (664 intervenciones) el 12/03/2014 22:23:28
Hola Vicente, seria algo así:

1
awk '/<Directory \/>/{ print NR; exit }' archivoDondeBuscar

Desde un script de bash, para capturar el valor en una variable seria:
1
variable=`awk '/<Directory \/>/{ print NR; exit }' archivoDondeBuscar`

Coméntanos si te sirve, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

¿Cómo averiguar línea n a partir de una palabra?

Publicado por vicente (2 intervenciones) el 12/03/2014 22:53:47
Muchas gracias!!

A funcionado perfectamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Cómo averiguar línea n a partir de una palabra?

Publicado por Tom (346 intervenciones) el 13/03/2014 08:47:02
grep -n

Hoy me he molestado en comparar awk con grep.
Con un fichero no muy grande, de 10 MB, grep es 5 veces más rápido :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar