Pipe

如何區分這兩個命令的輸出?

  • November 23, 2018

我有一個別名,用於刪除通過管道傳送給它的註釋:

alias decomment='egrep -v "(^#.*|^$)"'

我目前在設置 squid 代理時遇到了一些困難,所以我想比較一下配置更改。我想使用我的 decomment 別名,因為 squid.config 文件有大量已註釋掉的行。

我將如何diff在一行中比較(使用)這兩個命令的輸出?

$ cat squid.conf.old | decomment 

$ cat squid.conf.new | decomment

..以我可以這樣的方式:

$ cat squid.conf.old | decomment > output1

$ cat squid.conf.new | decomment > output2

$ diff output1 output2

您可以使用程序替換:

diff <(cat squid.conf.old | decomment) <(cat squid.conf.new | decomment)

您可以為此使用流程替換

diff <(decomment < squid.conf.old) <(decomment < squid.conf.new)

引用自:https://unix.stackexchange.com/questions/483772