2009-03-11 21 views
2
ls -ltr|grep 'Mar 4'| awk '{print $9 }'|xargs zcat -fq |grep 12345 

Şu anda sayısal dizgimi içeren kayıtları listelemek için bu komutu kullanıyorum dizeleri bulunan dosyanın adını yazdırmak için bu komutu nasıl alabilirim?Dosya adıyla birlikte grep için zcat için

sayesinde zgrep

BTW

+0

yine hata Klonlama? – dmckee

+0

Bu bir çift değil, cevabı 633998 kullanıyor ve rafine ediyor. – unwind

+0

Üzgünüm. Ben geri çekiyorum. – dmckee

cevap

4

kullanın. ne yapmaya çalışıyorsun onu çalıştırmadan önce onu (dosya adı dahil zcat komutu,) çalıştıran komutu yazdırmak için neden xargs için -t seçeneği geçirin find

find -newermt 'Mar 4' -and ! -newermt 'Mar 5' -exec zgrep -l '12345' {} \; 
0

ile yapılabilir. Komut stderr'e yazdırılır, böylece borunuza müdahale etmez.

2

yerine zcat + grep (aynı yapar), bunu böyle bu seçenek gibi do zgrep kullanıyorsanız:

ls -ltr | grep 'Mar 4' | awk '{print $9}' | xargs zgrep 12345 
İlgili konular