vimdiff dosyaları yerine çıktıları karşılaştırmak için


15

İki komut çıktısını karşılaştırmaya çalışıyorum (dosya yok)

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

Yönlendirme, pipo ile oynamayı denedim vim - -cama bir şeyleri kaçırmak zorundayım. Birisi yardım edebilir mi lütfen ?

Yanıtlar:


23

Sen karıştırıyorsun $(…)ile <(…). Sen çıkışını geçer şekillendiricisi, kullanılan argümanlar için vimdiff. Örneğin, son satırını /path/to/fooiçeriyorsa bar bar bar, aşağıdaki komut

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

eşittir

echo bar bar bar

Bunun yerine, kullanmanız gerekir <(…). Buna işlem ikamesi denir ve çıktıyı sözde dosya olarak vimdiffkomuta iletir. Bu nedenle, aşağıdakileri kullanın.

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

Bu bash ve zsh olarak çalışır, ancak görünüşe göre tcsh'de işlem ikamesi yapmanın bir yolu yoktur .


Bu sadece bash, ama
simona

@simona Benim için de çalışıyor. Muhtemelen csh ve tcsh de.
Sparhawk

@Sparhawk tcsh'de çalışmıyor
simona

@simona Bu bilgi için teşekkürler; TCsh'ı tanımıyorum. Tsch içinde çalışan bir cevap vermeyi düşünebilirsiniz. Şerefe.
Sparhawk

@Sparhawk, görünüşe göre tcshbir dosya oluşturmadan bunun bir yolu yok unix.stackexchange.com/questions/5111/…
simona
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.