Можно ли вызвать 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