Как фильтровать вывод сценария в bash, используя запрос типа «(я ИЛИ вы) ИЛИ (john AND! Doe)»?

Я хотел бы иметь возможность передавать любой вывод командной строки в сценарий bash или какую-либо программу командной строки, которая фильтрует контент в зависимости от логического поиска. Регулярные выражения не требуются (но это нормально, если они поддерживаются)

Например, если бы у меня был такой файл:

file1.txt

hello there me and you are going to the store this is a file created by john doe and his friend jane john is here 

то запуск моего вымышленного скрипта можно сделать так:

 $ cat file1.txt | filter "(me OR you) OR (john AND ! doe)" me and you are going to the store john is here 

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

Для более сложных фильтров, подобных этому, awk может выполнить эту работу:

 awk '( /me|you/ ) || (/john/ && ! /doe/ )' /path/to/file