Comment utiliser l'opérateur find -iregex OR (|)?

0

Désinstallez une application, mais elle continue à apparaître chaque fois que j'essaie d'interagir avec les types de fichiers auxquels elle était associée.

Comme d'habitude, finda été inestimable pour trouver et éliminer les restes. Mais j'ai remarqué que je n'arrivais pas à faire en sorte que l'opérateur de regex OR fonctionne comme prévu.

Certaines choses que j'ai essayées et qui n'ont pas fonctionné:

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

Certaines choses que j'ai essayées et qui ont fonctionné:

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

J'avais l'impression que si '\(.*crossover.*\)', retourne un match ..
Alors '\(.*crossover.*\)\|whatever'devrait aussi.

Quelle est la syntaxe correcte?

tjt263
la source
Travaille pour moi. Linux Mint dans VirtualBox.
Toto
Dans ma Debian 9, les deux premiers ne fonctionnent pas. Le reste fait.
Kamil Maciorowski

Réponses:

0

Tant que vous vous échapperez (si vos deux premiers exemples sont mauvais), le reste devrait fonctionner.

Testé:

J'ai les fichiers /home/gaston/.viminfo et /home/gaston/.vim

find ~ -iregex '.*/\.vim\|.*/\.viminfo' les rendements

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

et find ~ -iregex '.*/\.vim\|s;dlfkgj;slfjgs'rendements:

/home/gaston/.vim
harogaston
la source