vimdiff untuk membandingkan keluaran daripada file


15

Saya mencoba membandingkan dua output perintah (tidak ada file)

vimdiff "$(tail /tmp/cachain.pem)" "$(tail /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem)"

Saya mencoba bermain dengan pengalihan, pipa, dan vim - -ctetapi saya pasti kehilangan sesuatu. Apakah ada yang bisa membantu ?

Jawaban:


23

Anda bingung $(…)dengan <(…). Anda menggunakan mantan, yang melewati output sebagai argumen untuk vimdiff. Misalnya, jika baris terakhir /path/to/fooberisi bar bar bar, maka perintah berikut

echo $(tail -1 /path/to/foo)

setara dengan

echo bar bar bar

Sebagai gantinya, Anda perlu menggunakan <(…). Ini disebut proses substitusi , dan meneruskan output sebagai file pseudo ke vimdiffperintah. Karenanya, gunakan yang berikut ini.

vimdiff <(tail /tmp/cachain.pem) <(tail /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem)

Ini berfungsi dalam bash dan zsh, tetapi tampaknya tidak ada cara untuk melakukan proses substitusi di tcsh.


ini hanya di bash,
simona

@imona Bekerja untukku di zsh juga. Mungkin juga csh dan tcsh.
Sparhawk

@Sparhawk tidak berfungsi di tcsh
simona

@simona Terima kasih atas informasi itu; Saya tidak terbiasa dengan tcsh. Anda mungkin mempertimbangkan untuk membuat jawaban yang berfungsi di tsch. Bersulang.
Sparhawk

@Sparhawk tampaknya tidak ada cara untuk ini tcshtanpa membuat file unix.stackexchange.com/questions/5111/...
simona
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.