Можно ли вызвать grep с сохраненным регулярным выражением из файла?

Я работаю над красивым длинным регулярным выражением (для забавы, да, я знаю...), и я хотел бы записать его в файл, чтобы я мог лучше его записать. Могу ли я вызвать grep следующим образом:

grep regex.txt fileToSearch.txt

Я попробовал это, и это не работает. Есть ли какие-либо флаги, которые я должен использовать, или такой подход невозможен?

2 ответа

Решение

От man grep:

   -f FILE, --file=FILE
          Obtain patterns from FILE, one per line.  The empty file contains zero patterns, and therefore matches nothing.  (-f is specified by POSIX.)

Пример:

$> cat ./file.txt 
.*a

$> echo "abcabc" | grep -o -P -f ./file.txt 
abca

Как насчет

grep "$(cat regex.txt)" fileToSearch.txt

или же

grep --file=regex.txt fileToSearch.txt
Другие вопросы по тегам