Быстрый ответ. Вы можете использовать tee >(what_to_do) >(another_thing_to_do)
для продолжения выполнения своей команды столько разных вещей, которые вы хотите сделать.
Пример:
Исходный тестовый файл вывода:
:~$ cat testfile.txt
Device Model: LITEONIT LCS-256M6S 2.5 7mm 256GB
Serial Number: TW0XFJWX550854187616
Вывод с tee
добавленными командами:
:~$ 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
Каждая команда в tee - это обычные команды, которые вы используете в командной строке, например, add in >(head -1 | wc)
works.
:~$ 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
Или вы можете также захватить последнее слово сказать последнюю строку, используя awk
с $NF
с wc
а так:
:~$ cat testfile.txt | tail -1 | tee >(wc) >(awk '{print $NF}')
Serial Number: TW0XFJWX550854187616
TW0XFJWX550854187616
1 3 39
ПРИМЕЧАНИЕ. Добавление |
в конец команды pipe может быть отменено с помощью нескольких команд из tee
команды. У меня есть несколько примеров, которые я тестировал:
Пример 1 (команда Pipe извлекает все последние слова):
:~$ echo "This is just five words" | tee >(wc -l) >(wc -w) >(wc -c) | awk '{print $NF}'
words
24
5
1
Пример 2 (Не показывает вывод команд wc. Команда pipe захватывает 3-е слово.):
:~$ echo "This is just five words" | tee >(wc -l) >(wc -w) >(wc -c) | awk '{print $3}'
just
Пример 3 (Захват 3-го слова в строке эха. Команда 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
Пример 4 (Получение последнего слова в строке эха. Команда 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
Надеюсь это поможет!