
Estou examinando alguns arquivos de origem VB. Eu uso a seguinte consulta -
grep -nr "GlobalCommArea\s*=\s*.*\.Transaction" .
Algumas das linhas, entretanto, são comentadas e começam com um comentário de uma única linha. Um comentário de linha única em VB começa com uma aspa simples - '
Infelizmente, não posso simplesmente remover todas as linhas que possuem aspas simples, porque algumas das linhas possuem um comentário de aspas simples após a linha de código.
Então tentei algo assim para remover as aspas simples no início da linha
grep -nr "GlobalCommArea\s*=\s*.*\.Transaction" . | grep -v "^\s*'"
No entanto, isso não funcionou. Como fazer isso?
Responder1
Você está usando grep -n
quais prefixos correspondem aos números de linha, portanto, seu segundo padrão "^\s*'"
nunca corresponderá. Em vez disso, você pode usar um único regex:
grep -nr "^[^']*GlobalCommArea\s*=\s*.*\.Transaction" .
Isso procura instâncias do seu padrão não precedidas por aspas simples.