Risposta rapida. Puoi usare tee >(what_to_do) >(another_thing_to_do)
per continuare con il tuo comando per tutte le diverse cose che vuoi fare.
Esempio:
Output del file di test originale:
:~$ cat testfile.txt
Device Model: LITEONIT LCS-256M6S 2.5 7mm 256GB
Serial Number: TW0XFJWX550854187616
Uscita con tee
comandi aggiunti:
:~$ 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
Ogni comando in tee è solo comandi normali che useresti sulla riga di comando, come funziona anche l'aggiunta >(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
Oppure si può anche afferrare l'ultima parola di dire l'ultima linea utilizzando awk
con $NF
un wc
così come questo:
:~$ cat testfile.txt | tail -1 | tee >(wc) >(awk '{print $NF}')
Serial Number: TW0XFJWX550854187616
TW0XFJWX550854187616
1 3 39
NOTA: l' aggiunta di un |
comando pipe alla fine può sovrascrivere utilizzando i comandi multipli dal tee
comando. Ho alcuni esempi qui che ho testato:
Esempio 1 (comando pipe che tira tutte le ultime parole):
:~$ echo "This is just five words" | tee >(wc -l) >(wc -w) >(wc -c) | awk '{print $NF}'
words
24
5
1
Esempio 2 (Non mostra l'output dei comandi wc. Comando pipe che prende la terza parola.):
:~$ echo "This is just five words" | tee >(wc -l) >(wc -w) >(wc -c) | awk '{print $3}'
just
Esempio 3 (Afferrare la terza parola della riga dell'eco. Comando Tee):
:~$ 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
Esempio 4 (Afferrare l'ultima parola della riga dell'eco. Comando Tee):
:~$ 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
Spero che sia di aiuto!