
Estoy revisando algunos archivos fuente de VB. Utilizo la siguiente consulta:
grep -nr "GlobalCommArea\s*=\s*.*\.Transaction" .
Algunas de las líneas, sin embargo, están comentadas y comienzan con un comentario de una sola línea. Un comentario de una sola línea en VB comienza con una comilla simple: '
Desafortunadamente, no puedo simplemente eliminar todas esas líneas que tienen una comilla simple, porque algunas de las líneas tienen un comentario de comilla simple después de la línea de código.
Entonces intenté algo como esto para eliminar la comilla simple al comienzo de la línea.
grep -nr "GlobalCommArea\s*=\s*.*\.Transaction" . | grep -v "^\s*'"
Sin embargo, esto no funcionó. ¿Como hacer esto?
Respuesta1
Está utilizando grep -n
qué prefijos coinciden con los números de línea, por lo que su segundo patrón "^\s*'"
nunca coincidirá. En su lugar, puedes usar una sola expresión regular:
grep -nr "^[^']*GlobalCommArea\s*=\s*.*\.Transaction" .
Esto busca instancias de su patrón que no estén precedidas por comillas simples.