为什么 find -L ... fgrep 失败?

为什么 find -L ... fgrep 失败?

我从 Ubuntu 迁移到 Debian,find现在在 tex 文件中搜索单词时遇到了问题马西。代码及其输出

masi@masi:~$ find -L "/home/masi/" -xtype f \
    -name "*.tex" -exec fgrep -l 'masi' {} + /dev/null

find: paths must precede expression: /dev/null
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
  • /dev/null在第二个命令集中是必要的,因为我们正在使用find -L,因为我们想要包含所有符号链接并遍历它们而不排除搜索中的任何内容。线程的使用动机这里关于如何通过此查找避免多级符号链接?

作为单行

find -L "/home/masi/" -xtype f -name "*.tex" -exec fgrep -l 'masi' {} + /dev/null

操作系统:Debian 8.5
Linux 内核:向后移植 4.6
硬件:华硕 Zenbook UX303UA
相关:线程中脚本find的命令haetex如何搜索.tex文件?
查找:find (GNU findutils) 4.4.2
Fgrep:grep (GNU grep) 2.20

答案1

只是:

find -L /home/masi/ -xtype f -name "*.tex" -exec fgrep -l 'masi' {} +

不需要处理文件的占位/dev/null{}

如果您尝试隐藏错误输出,请像这样使用它:

command 2>/dev/null

相关内容