Назад | Перейти на главную страницу

вопрос о файлах greping

Я использовал grep для запуска нескольких сканирований PII, и хотя он находил результаты, он действительно обнаружил слишком много ложных срабатываний.

Есть ли способ указать grep не запускать совпадение для файла, если он не содержит других данных?

Например, могу ли я сказать ему, чтобы он не запускал предупреждение о регулярном выражении для SSN, если файл не содержит текст вроде «ssn» или «номер социального страхования» где-то еще в файле?

grep -lZ ssn files_to_search | xargs -0 grep what_to_search_for

Конечно, просто передайте первый вывод другому grep. Grep for foo, а затем grep for bar, поэтому на выходе будут только строки, в которых есть как foo И бар.

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

Это относится только к SSN в верхнем регистре, а затем передает любые строки с sss ИЛИ номером социального страхования. нижний регистр. Добавьте -i на всякий случай. Если вы действительно хотите, чтобы SSN и ssn, попробуйте это;

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

Еще мне нравится показывать только строки, не есть бар. Выполните Grep для foo, затем grep -v bar. Только строки с foo, которые тоже не есть бар. Использование GNU grep 2.5.4 в окна