Flo*_*abé 19 vim stdout stdin vimdiff
我正在尝试比较两个命令输出(无文件)
vimdiff "$(tail /tmp/cachain.pem)" "$(tail /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem)"
Run Code Online (Sandbox Code Playgroud)
我尝试玩重定向,管道,vim - -c
但我一定错过了一些东西。有人可以帮忙吗?
Spa*_*awk 27
你$(…)
对<(…)
. 您使用了前者,它将输出作为参数传递给vimdiff
。例如,如果最后一行/path/to/foo
包含bar bar bar
,则以下命令
echo $(tail -1 /path/to/foo)
Run Code Online (Sandbox Code Playgroud)
相当于
echo bar bar bar
Run Code Online (Sandbox Code Playgroud)
相反,您需要使用<(…)
. 这称为进程替换,并将输出作为伪文件传递给vimdiff
命令。因此,请使用以下内容。
vimdiff <(tail /tmp/cachain.pem) <(tail /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem)
Run Code Online (Sandbox Code Playgroud)
这在bash
and 中有效zsh
,但显然没有办法在tcsh
.