TÜM çıktı Linux'taki bir komuttan nasıl yönlendirilir


3

Gentoo Linux kullanıyorum. Bir program ( equery), şu anda yüklü olan tüm paketlerin ( equery list "*") büyük bir listesini çıkarır . Hangisinin kararsız olduğunu bulmak istiyorum. Equery, dengesiz paketleri paket adından önce [~] ile işaretler. Mesele şu ki, yalnızca çıkış herhangi bir yere yönlendirilmediğinde olur - terminalde. Çıkışı ( equery list "*" | grep "~") ya da bir dosyaya yönlendirmeyi denediğimde , stderr ( equery list "*" &> eql.txt) de dahil olmak üzere bir bilgiyi yönlendirmedim - sadece paketlerin isimleri.

Peki, TÜM çıktıyı bir programdan nasıl yeniden yönlendiririm?


Bilgiler hala terminalinize &>yazdırılıyor mu, yoksa artık hiç yazdırılmıyor mu?
terdon

İle yönlendirilirken hiç yazdırılmaz &>.
John Ashpool

1
Tamam, o zaman bu bir yeniden yönlendirme meselesi değil, mesele yeniden yönlendirildiğini equerytespit etmesi ve çıktısını buna göre değiştirmesidir. Bunu çeşitli komutlar yapabilir. Deneyin equery list "*" 2>&1 | grep "~"işliyor?
terdon

Bu arada, buradaki
VL-80

Ve seçenekle birleştiremeyeceğiniz seçenek olmadan equeryçıkış yapamazsınız . ~ylist
VL-80

Yanıtlar:


3

Equery komutunu unbuffer ile kaydırmayı dene .

unbuffer equery list "*" | grep "-"

Unbuffer komutu, argüman programının bir terminale bağlı olduğunu düşünmesini sağlar. Argümana başka bir alıntı düzeyi eklemeniz gerekebilir "*".


2
O adam sayfasındaki hatayı seviyorum! Lol
Kanadalı Luke

1

equery -N boru algılamayı kapatır.

Öyleyse equery -N list '*' | grep '~'işi yapmalı.

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.