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

Как обычно, 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 ответ1

0

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

Проверено:

У меня есть файлы /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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .