cuo*_*glm 16
标准 (POSIX) 语法是:
find /path/to/parent -type f -exec grep 'XXX' /dev/null {} +
Run Code Online (Sandbox Code Playgroud)
(这/dev/null是为了确保grep始终打印文件名)。这将适用于包括 Solaris 在内的所有 POSIX 系统。唯一已知的已知不起作用的 90 后系统是旧的(现在很旧)GNU 系统。
GNU 最初引入了一个-print0谓词和一个-0选项来xargs代替:
find /path/to/parent -type f -print0 | xargs -0 grep 'XXX' /dev/null
Run Code Online (Sandbox Code Playgroud)
现在有一些其他实现支持它,但不支持 Solaris。
以上,理论上,如果没有文件,您需要添加-r避免运行的选项grep,但这不是可移植的,在这种特殊情况下,不会产生功能差异