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

ich jetzt mit diesem Befehl die Einträge auflisten, die meine numerische Zeichenfolge enthalten, wie kann ich diesen Befehl erhalten alos den Namen der Datei drucken die Strings gefunden?zcat grep mit Dateinamen

dank

+0

Fehler wieder Klonen? – dmckee

+0

Dies ist kein dup, dies verwendet die Antwort von 633998 und verfeinert es. – unwind

+0

Entschuldigung. Ich ziehe zurück. – dmckee

Antwort

4

Verwenden zgrep

BTW. was Sie versuchen, mit find

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

Pass die -t Option xargs, so dass es den Befehl drucken zu tun getan wird es (den zcat Befehl, einschließlich dem Dateinamen) vor dem Ausführen von ihm ausgeführt wird. Der Befehl wird in stderr gedruckt, damit er nicht mit Ihrer Pipe interferiert.

2

Wenn Sie zgrep statt zcat verwenden + grep (was das gleiche tut), tun Sie es wie diese Option wie folgt aus:

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