Linux/Unix Shell Scripting - Buscar frase que empiece y acabe

 
Vista:

Buscar frase que empiece y acabe

Publicado por Quickly (3 intervenciones) el 28/05/2015 17:55:16
Buenas a ver si alguien me puede ayudar, estoy intentando hacer un script que busque en un archivo con muchas cadenas y frases , y me copia cada frase que empiece por "le" y acabe en "#"

Por lo que he estado viendo con grep se podria hacer pero si fuera por cada linea, no me sirve ya que en mis archivos quizas en una linea aparezca la mitad de esa frase y en la siguiente linea la otra mitad..por ejemplo


le estaba diciendo que # si no que le dice # que le dije que no
sabe # y si acaso

Lo que busco es que me copie :

lee estaba diciendo que
le dice
le dije que no sabe
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

Buscar frase que empiece y acabe

Publicado por Quickly (3 intervenciones) el 28/05/2015 19:02:00
he probado con

grep -o 'le.*#' nose.txt

Pero me copia toda la linea y yo solo quiero la coincidencia de esa frase
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
sin imagen de perfil
Val: 50
Ha mantenido su posición en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Buscar frase que empiece y acabe

Publicado por caic (99 intervenciones) el 29/05/2015 08:21:32
Hola,

Existe dos opciones para decirle al grep que busque una cadena al principio o al final de la línea:

1
grep "^cadena" fichero.txt

Mostrará las líneas de fichero.txt que comiencen por "cadena".

1
grep "cadena$" fichero.txt

Mostrará las que acaben en "cadena".

Espero que te sirva.

Saludos!!
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

Buscar frase que empiece y acabe

Publicado por Quickly (3 intervenciones) el 29/05/2015 10:09:56
Pero de esa forma solo me encontrará lo que esté a principio o final de la linea y me mostrará la linea completa, no serviria ya que en mis frases en cada linea puede haber 2 , 3 ,4 o incluso 4 y media y la otra media en la siguiente linea ademas que solo quiero que copie la frase encontrada,
Gracias
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
sin imagen de perfil
Val: 50
Ha mantenido su posición en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Buscar frase que empiece y acabe

Publicado por caic (99 intervenciones) el 01/06/2015 08:58:19
Hola,

Puedes encadenar los comandos con pipe "|". Por ejemplo:

1
grep "^inicio" fichero.txt | grep "fin$"

Mostrará las líneas que comiencen por "inicio" y acaben por "fin".

Saludos!
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