gpt4 book ai didi

bash - 在 bash 中,有没有一种方法可以将多个管道连接到一个进程?

转载 作者:行者123 更新时间:2023-11-29 09:24:02 25 4
gpt4 key购买 nike

例如,如果我想在使用 sed 对两个文件进行预处理后对它们进行 diff 操作,有没有办法在没有临时文件的情况下执行此操作?

我已经尝试过这样的事情并且(如我所料)它没有奏效:

(sed "$expr" file1; sed "$expr" file2) | diff - -

我在想可能有一种方法可以显式创建管道或其他东西。

最佳答案

尝试这样做:

diff <(sed "$expr" file1) <(sed "$expr" file2)

这使用进程替换<( )被临时文件名替换。写入或读取该文件会导致字节通过管道传输到内部的命令。通常与文件重定向结合使用:

cmd1 2> >(cmd2)


http://mywiki.wooledge.org/ProcessSubstitution
http://mywiki.wooledge.org/BashFAQ/024

关于bash - 在 bash 中,有没有一种方法可以将多个管道连接到一个进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19012651/

25 4 0
文章推荐: 解压未知名称文件的 Bash 脚本
文章推荐: java - 如何将整个滚动
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com