greping files question

2

Eu tenho usado o grep para executar algumas digitalizações de PII e, embora esteja encontrando resultados, ele realmente encontrou muitos falsos positivos.

Existe uma maneira que eu possa dizer ao grep para não acionar uma correspondência para um arquivo, a menos que contenha outros dados?

Por exemplo, posso dizer a ele para não acionar um alerta em um regex para um SSN, a menos que o arquivo inclua texto como "ssn" ou "número do seguro social" em algum outro lugar do arquivo?

    
por tearman 17.03.2010 / 18:44

2 respostas

1
grep -lZ ssn files_to_search | xargs -0 grep what_to_search_for
    
por 17.03.2010 / 19:07
0

Claro, apenas canalize a primeira saída para outro grep. Grep for foo e depois grep for bar, então sua saída será apenas linhas que tenham a barra foo AND .

grep SSN filename.txt | grep -e "ssn|social security number"

Isso só atinge o SSN maiúsculo e passa as linhas com o número de segurança social sss OR. minúsculas. Adicione -i para qualquer caso. Se você quiser tanto o SSN quanto o ssn, tente isto:

grep -i SSN filename.txt | grep social.security.number

Outra que eu gosto é apenas mostrar linhas que não possuem barra. Do Grep for foo, em seguida, grep -v bar. Apenas linhas com foo, que também fazem não possuem barra. Usando o GNU grep 2.5.4 em janelas

    
por 17.03.2010 / 19:09

Tags