Resposta rápida. Você pode usar tee >(what_to_do) >(another_thing_to_do)para continuar com o seu comando para tantas coisas diferentes que você deseja fazer.
Exemplo:
Saída do arquivo de teste original:
:~$ cat testfile.txt
Device Model: LITEONIT LCS-256M6S 2.5 7mm 256GB
Serial Number: TW0XFJWX550854187616
Saída com teecomandos adicionados:
:~$ 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 no tee são apenas comandos normais que você usaria na linha de comando, como o add in >(head -1 | wc)funciona também.
:~$ 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
Ou você também pode pegar a última palavra de dizer a última linha usando awkwith $NFcom um wcbem como este:
:~$ cat testfile.txt | tail -1 | tee >(wc) >(awk '{print $NF}')
Serial Number: TW0XFJWX550854187616
TW0XFJWX550854187616
1 3 39
NOTA: A adição de um |comando de pipe ao final pode substituir usando os vários comandos dotee comando. Eu tenho alguns exemplos aqui que eu tenho testado:
Exemplo 1 (comando Pipe, puxando todas as últimas palavras):
:~$ echo "This is just five words" | tee >(wc -l) >(wc -w) >(wc -c) | awk '{print $NF}'
words
24
5
1
Exemplo 2 (não mostra a saída dos comandos wc. Comando de pipe capturando a 3ª palavra.):
:~$ echo "This is just five words" | tee >(wc -l) >(wc -w) >(wc -c) | awk '{print $3}'
just
Exemplo 3 (Agarrando a 3ª palavra da linha 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
Exemplo 4 (Agarrando a última palavra da linha 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 isto ajude!