2017-05-28 3 views
4

Ich habe alle Dateien zu drucken, eine Abfrage als eine Konsole Argument enthält, hat die folgende Zeile soWie wird das Ergebnis eines Befehls sowie die Anzahl der Ergebnisse gedruckt?

find . "$path" -type f -name "*$key*" -print 

aber ich würde auch die Gesamtdateianzahl zu bekommen, aber dies zu tun:

find . "$path" -type f -name "*$key*" -print | wc -l 

wird mir die Zählung aber nicht die Namen dieser Dateien geben, was kein gewünschtes Ergebnis ist. Wie fixiere ich es mit einem Liner (wenn möglich)?

Antwort

4

Mit dem Befehl tee den Ausgang des Rohres und Bash Process Substitution als Platzhalter für die Datei den duplizierten Strom zu wc bereitzustellen Duplizieren:

$ seq 11 15 | tee >(wc -l) 
11 
12 
13 
14 
15 
5 
+0

@cyrus denke ich an die Antwort der Schlüsselteil ist tee, nicht proc sub, da kannst du es genauso gut mit einer Pipe machen. – 123

+1

Sie können die verschiedenen Straßen mit 'seq 11 15 | anzeigen Abschlag> (wc -l | sed /.*/ Ergebnisse zählen: &/'> & 2) | sed 's /.*/ Ergebnis: & /' '. –

Verwandte Themen