我正在做一个find然后获取文件列表。我如何将它通过管道传输到另一个实用程序cat(以便 cat 显示所有这些文件的内容)并且基本上需要grep这些文件中的某些内容。
find
cat
grep
command1 | command2
这会将 command1 的输出作为 command2 的输入发送
-exec
find . -name '*.foo' -exec cat {} \;
(find和之间的所有-exec内容都是您已经使用的查找谓词。 {}将替换您找到的特定文件到命令中(cat {}在这种情况下);即\;结束-exec命令。)
{}
cat {}
\;
command2 `command1`
例如:
cat `find . -name '*.foo' -print`
(注意这些是反引号而不是常规引号(在我键盘上的波浪号 ~ 下)。)这会将输出作为命令行参数发送command1到。command2请注意,包含空格(换行符等)的文件名将被分解为单独的参数。
command1
command2