如何反转“定位”命令。前任。显示除 X 之外的所有内容

如何反转“定位”命令。前任。显示除 X 之外的所有内容

当执行定位来查找特定文件时,它会显示很多内容,但是有没有办法反转显示的内容?前任。找到其中包含单词 drupal 的任何内容,但不显示主目录中的任何内容。

答案1

是的,我一直按照@Raza 的建议去做。例如,假设我想查找所有与字体相关的文件不是坐在~/installations/等待安装。

locate font | grep -v installations

$HOME/.cache糟糕,我忘记了和中的很多东西都会匹配$HOME/.config

locate font | grep -v $HOME

现在要摆脱手册页、语言环境、图标……

locate font | grep -v -e $HOME -e icons -e /man/ -e /locale/

可能两个都不感兴趣/var/cache...

locate font | grep -v -e $HOME -e icons -e /man/ -e /locale/ -e /var/cache

ETC。

我经常遇到的另一个用例是搜索系统上程序的所有版本。 locate emacs将输出数千个结果,因此我仅过滤基本名称中包含“emacs”的结果:

locate emacs | egrep 'emacs[^/]+$'

天哪,这仍然显示图标和手册页等等。那么,如果基名在 emacs 后面没有句点呢?

locate emacs | egrep 'emacs[^/.]+$'

这好多了。

请记住,与 不同的是findlocate是数据库查找;它不会消耗任何文件系统资源来搜索结果,因此您不会通过生成大量结果然后使用grep.

相关内容