Você tem um arquivo com padrões. grep
pode ler os padrões com sua opção -f
. Se você quiser verificar se uma string, $input
, corresponde a um padrão em patterns.txt
, você pode fazer
printf '%s\n' "$input" |
if grep -q -f patterns.txt; then
echo 'matches'
else
echo 'does not match'
fi
Isso executaria grep
sobre o conteúdo da string com os padrões em patterns.txt
. Em bash
, você poderia usar uma string here:
if grep -q -f patterns.txt <<<"$input"; then
echo 'matches'
else
echo 'does not match'
fi
O -q
para grep
da saída de produção (estamos interessados apenas no status de saída).
Se os padrões forem sequências fixas (não expressões regulares), use -F
com grep
além dos outros sinalizadores ( grep -qF -f ...
).