Как использовать оператор поиска -iregex ИЛИ (|)?

Удалите приложение, но оно продолжает появляться всякий раз, когда я пытаюсь взаимодействовать с типами файлов, с которыми оно было связано.

По-прежнему, find был неоценим в поиске и устранении остатков. Но я заметил, что не могу заставить работать оператор регулярного выражения ИЛИ так, как ожидал.

Некоторые вещи, которые я пробовал, не работали:

find / -iregex '(.*crossover.*)|(.*codeweavers.*)'          2>/dev/null
find / -iregex '(^.*crossover.*$)|(^.*codeweavers.*$)'      2>/dev/null
find / -iregex '\(.*crossover.*\)\|\(.*codeweavers.*\)'     2>/dev/null
find / -iregex '\(^.*crossover.*$\)\|\(^.*codeweavers.*$\)' 2>/dev/null

Некоторые вещи, которые я пробовал, работали:

find / -iregex '\(.*crossover.*\)' 2>/dev/null
find / -iregex '^.*crossover.*$'   2>/dev/null
find / -iregex '.*crossover.*'     2>/dev/null

У меня сложилось впечатление, что если '\(.*crossover.*\)', возвращает совпадение..
затем '\(.*crossover.*\)\|whatever' должен тоже.

Какой правильный синтаксис?

1 ответ

До тех пор, пока вы избегаете трубы (как ваши первые два примера делают неправильно), остальные должны работать.

Проверено:

У меня есть файлы /home/gaston/.viminfo и /home/gaston/.vim

find ~ -iregex '.*/\.vim\|.*/\.viminfo' доходность

/home/gaston/.viminfo
/home/gaston/.vim

а также find ~ -iregex '.*/\.vim\|s;dlfkgj;slfjgs' выходы:

/home/gaston/.vim
Другие вопросы по тегам