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