Schnelle Antwort. Mit können Sie tee >(what_to_do) >(another_thing_to_do)
Ihren Befehl für so viele verschiedene Aufgaben ausführen, wie Sie möchten.
Beispiel:
Originalausgabe der Testdatei:
:~$ cat testfile.txt
Device Model: LITEONIT LCS-256M6S 2.5 7mm 256GB
Serial Number: TW0XFJWX550854187616
Ausgabe mit tee
hinzugefügten Befehlen:
:~$ cat testfile.txt | tee >(tail -1) >(wc) >(awk '{print $3,$1,$2}')
Device Model: LITEONIT LCS-256M6S 2.5 7mm 256GB
Serial Number: TW0XFJWX550854187616
LITEONIT Device Model:
TW0XFJWX550854187616 Serial Number:
2 10 91
Serial Number: TW0XFJWX550854187616
Jeder Befehl in tee ist nur ein normaler Befehl, den Sie in der Befehlszeile verwenden würden >(head -1 | wc)
.
:~$ cat testfile.txt | tee >(tail -1) >(head -1 | wc) >(awk '{print $3,$1,$2}')
Device Model: LITEONIT LCS-256M6S 2.5 7mm 256GB
Serial Number: TW0XFJWX550854187616
1 7 52
LITEONIT Device Model:
TW0XFJWX550854187616 Serial Number:
Serial Number: TW0XFJWX550854187616
Oder Sie können auch greifen das letzte Wort in der letzten Zeile sagen von unter Verwendung von awk
mit $NF
mit einem wc
auch wie folgt aus :
:~$ cat testfile.txt | tail -1 | tee >(wc) >(awk '{print $NF}')
Serial Number: TW0XFJWX550854187616
TW0XFJWX550854187616
1 3 39
ANMERKUNG: Das Hinzufügen eines |
Pipe-Befehls am Ende kann die Verwendung mehrerer Befehle aus dem tee
Befehl außer Kraft setzen . Ich habe hier einige Beispiele, die ich getestet habe:
Beispiel 1 (Pipe-Befehl, der alle letzten Wörter zieht):
:~$ echo "This is just five words" | tee >(wc -l) >(wc -w) >(wc -c) | awk '{print $NF}'
words
24
5
1
Beispiel 2 (Zeigt die Ausgabe der wc-Befehle nicht an. Pipe-Befehl greift nach dem 3. Wort.):
:~$ echo "This is just five words" | tee >(wc -l) >(wc -w) >(wc -c) | awk '{print $3}'
just
Beispiel 3 (Ergreifen des 3. Wortes der Echozeile. Tee-Befehl.):
:~$ echo "This is just five words" | tee >(wc -l) >(wc -w) >(wc -c) >(awk '{print $3}')
This is just five words
just
24
5
1
Beispiel 4 (Ergreifen des letzten Wortes der Echozeile. Tee-Befehl.):
:~$ echo "This is just five words" | tee >(wc -l) >(wc -w) >(wc -c) >(awk '{print $NF}')
This is just five words
words
24
5
1
Hoffe das hilft!