Как использовать оператор поиска -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