Como grep para uma simples cotação?

1

Estou passando por alguns arquivos fonte do VB. Eu uso a seguinte consulta -

     grep -nr "GlobalCommArea\s*=\s*.*\.Transaction" . 

Algumas das linhas, no entanto, são comentadas e começam com um comentário de linha única. Um comentário de linha única no VB começa com uma única citação - '

Infelizmente, não posso simplesmente remover todas as linhas que têm uma única citação nelas, porque algumas das linhas têm um comentário de aspas simples após a linha de código.

Por isso, tentei algo assim para remover a aspa simples no início da linha

     grep -nr "GlobalCommArea\s*=\s*.*\.Transaction" . | grep -v "^\s*'"

No entanto, isso não funcionou. Como fazer isso?

    
por CodeBlue 16.04.2012 / 23:08

1 resposta

4

Você está usando grep -n , cujos prefixos correspondem a números de linha, portanto, seu segundo padrão "^\s*'" nunca corresponderá. Em vez disso, você pode usar uma única regex:

grep -nr "^[^']*GlobalCommArea\s*=\s*.*\.Transaction" .

Isso procura instâncias do seu padrão não precedidas por aspas simples.

    
por 16.04.2012 / 23:15

Tags