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

Grep para obtener todas las cadenas que estén entre comillas

Estas en el tema de Grep para obtener todas las cadenas que estén entre comillas en el foro de Unix / Linux en Foros del Web. Hola, Necesito obtener todos los literales en unos archivos .jsp, para esto tendría que hacer algo como “*”, pero claro,a si lo que estoy buscando ...
  #1 (permalink)  
Antiguo 28/06/2013, 01:55
 
Fecha de Ingreso: agosto-2010
Mensajes: 5
Antigüedad: 14 años, 2 meses
Puntos: 0
Grep para obtener todas las cadenas que estén entre comillas

Hola,
Necesito obtener todos los literales en unos archivos .jsp, para esto tendría que hacer algo como “*”, pero claro,a si lo que estoy buscando es el metacaracter *,no?
Tenéis alguna idea? Gracias de antemano.
  #2 (permalink)  
Antiguo 28/06/2013, 08:51
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Grep para obtener todas las cadenas que estén entre comillas

Si es GNU grep, podés usar la opción -o (solamente mostrar las partes de la cadena que cumplan el patrón):
Código BASH:
Ver original
  1. grep -o '".*"' archivo

Si no es GNU grep, dado que grep no tiene la capacidad de guardar coincidencias (usando paréntesis), sed o awk pueden ser mejores opciones:
Código BASH:
Ver original
  1. sed 's/^[^"]*"\(.*\)"[^"]*$/\1/g' archivo

Si estás seguro de que cada línea solamente contiene cosas de la forma

cadena = "literal";

podrías usar un método que se rompe fácilmente si hay algo inesperado, pero es una de esas soluciones que funcionan el 90% de los casos y muchas veces son suficientes para scripts de un solo uso:

Código BASH:
Ver original
  1. cut -d\" -f 2 archivo


Saludos.
  #3 (permalink)  
Antiguo 01/07/2013, 04:19
 
Fecha de Ingreso: agosto-2010
Mensajes: 5
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Grep para obtener todas las cadenas que estén entre comillas

Mucas gracias!
  #4 (permalink)  
Antiguo 01/07/2013, 04:25
 
Fecha de Ingreso: agosto-2010
Mensajes: 5
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Grep para obtener todas las cadenas que estén entre comillas

Lo estoy haciendo en windows, por eso no me funciona el -o ,no?
  #5 (permalink)  
Antiguo 01/07/2013, 08:38
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Grep para obtener todas las cadenas que estén entre comillas

Es posible, esa opción es específica de GNU Grep

Etiquetas: linux, terminal, unix
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 07:03.