小编典典

如何将 find 命令返回的文件列表通过管道传输到 cat 以查看所有文件

all

我正在做一个find然后获取文件列表。我如何将它通过管道传输到另一个实用程序cat(以便 cat
显示所有这些文件的内容)并且基本上需要grep这些文件中的某些内容。


阅读 117

收藏
2022-06-01

共1个答案

小编典典

  1. 管道到另一个进程(虽然这不会完成你所说的你正在尝试做的事情):
    command1 | command2
    

这会将 command1 的输出作为 command2 的输入发送

  1. -exec在 a 上find(这将做你想做的事——但特定于find
    find . -name '*.foo' -exec cat {} \;
    

find和之间的所有-exec内容都是您已经使用的查找谓词。 {}将替换您找到的特定文件到命令中(cat {}在这种情况下);即\;结束-exec命令。)

  1. 将一个进程的输出作为命令行参数发送到另一个进程
    command2 `command1`
    

例如:

    cat `find . -name '*.foo' -print`

(注意这些是反引号而不是常规引号(在我键盘上的波浪号 ~
下)。)这会将输出作为命令行参数发送command1到。command2请注意,包含空格(换行符等)的文件名将被分解为单独的参数。

2022-06-01