卸载了一个应用程序,但是每当我尝试与它曾经关联的文件类型交互时,它仍然弹出。
像往常一样,find
在查找和消除剩余项方面非常有用。但我注意到我似乎无法让正则表达式 OR 运算符按我预期的方式工作。
我尝试过一些不起作用的方法:
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 和/主页/加斯顿/.vim
find ~ -iregex '.*/\.vim\|.*/\.viminfo'
产量
/home/gaston/.viminfo
/home/gaston/.vim
并find ~ -iregex '.*/\.vim\|s;dlfkgj;slfjgs'
得出:
/home/gaston/.vim