Respuesta rápida. Puedes tee >(what_to_do) >(another_thing_to_do)
seguir adelante con tu comando para tantas cosas diferentes que quieras hacer.
Ejemplo:
Salida del archivo de prueba original:
:~$ cat testfile.txt
Device Model: LITEONIT LCS-256M6S 2.5 7mm 256GB
Serial Number: TW0XFJWX550854187616
Salida con tee
comandos agregados:
:~$ 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
Cada comando en tee son solo comandos normales que usaría en la línea de comandos, como agregar >(head -1 | wc)
trabajos también.
:~$ 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
O también puede tomar la última palabra de decir la última línea mediante el uso awk
de $NF
una wc
, así como esto:
:~$ cat testfile.txt | tail -1 | tee >(wc) >(awk '{print $NF}')
Serial Number: TW0XFJWX550854187616
TW0XFJWX550854187616
1 3 39
NOTA: Agregar un |
comando de tubería al final puede anular el uso de los múltiples comandos del tee
comando. Tengo algunos ejemplos aquí que he estado probando:
Ejemplo 1 (comando Pipe que tira de todas las últimas palabras):
:~$ echo "This is just five words" | tee >(wc -l) >(wc -w) >(wc -c) | awk '{print $NF}'
words
24
5
1
Ejemplo 2 (No muestra la salida de los comandos wc. Comando Pipe agarrando la tercera palabra):
:~$ echo "This is just five words" | tee >(wc -l) >(wc -w) >(wc -c) | awk '{print $3}'
just
Ejemplo 3 (Agarrando la tercera palabra de la línea de 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
Ejemplo 4 (Tomando la última palabra de la línea de 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
¡Espero que esto ayude!