LINUX.ORG.RU

BASH и параллельная обработка вывода

 


0

1

Привет!

Интересует вот что - возможно ли на bash параллельно выполнять обработку вывода какой-нибудь команды? То есть не cmd | cmd | cmd, а, например, выполнить команду, взять верхние 7 строк и нижние 4, в верхних седом заменить все единицы на двойки, в нижних - все единицы на тройки, потом еще грепнуть что-нибудь и результат вывести.

Спасибо!

★★★★★

Собственно, sed с этим и должен справиться.

anonymous
()
Ответ на: комментарий от zolden

Это пока только теоретический вопрос, иногда сталкиваюсь, все никак решения не найду. Банальный пример:

free | grep "total\|Swap"

Только без ключевых слов хочу, а просто «покажи первую и последнюю»

alozovskoy ★★★★★
() автор топика
Ответ на: комментарий от alozovskoy

Я вот тоже не могу понять. Какой пример нужен?
В том треде используется команда date внутри awk - чем не пример?
Давайте конкретное что-нить рассмотрим

zolden ★★★★★
()
Ответ на: комментарий от zolden

в том трэде используется strftime.

Давайте конкретное что-нить рассмотрим

uptime, например.

И, да,

$ awk '{print}' "$(uptime)"
awk: cmd. line:1: fatal: cannot open file ` 15:39:23 up 159 days,  8:16, 16 users,  load average: 1.03, 1.12, 1.16' for reading (No such file or directory)
alozovskoy ★★★★★
() автор топика
Ответ на: комментарий от alozovskoy

а, сорри прочитал тот тред по диагонали
strftime это не команда шелла, а встроенная функция awk
awk нужны данные на вход, поэтому просто так не получится вызвать
вот так получится

echo 123 | awk '{system («uptime»)}'

zolden ★★★★★
()
Ответ на: комментарий от zolden

Работает, спасибо! Постараюсь разобраться дальше.

alozovskoy ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.