Результаты IPERF3 должны выглядеть красиво в Logfile

Вы можете использовать

ps 7622

или

top

, чтобы узнать, что означает 7622 и какой другой процесс принадлежит вашему пользователю;

kill 7622

Но помните, что если ваш пользователь зарегистрирован где-либо (tty или X11 сеанс), вы не можете изменить его логин, пока он зарегистрирован.

-121--289755-

Я не знаком с snmpwalk, но из вопроса (и из моего прежнего неверного ответа) видно, что он производит несколько строк вывода. Мне также кажется, что большинство результатов вашего сценария повторяющиеся/избыточные, то есть всегда есть две строки с форматом:

A,B,C
...
A,B,D

и вы хотите еще один выход с половиной строк и выглядеть как

A,B,C,D

В этом случае может быть проще оставить сценарий таким, какой он есть, и передать выходные данные через канал в следующий сценарий AWK:

BEGIN{
  FS=",";
}
{
  if ( ($1,$2) in A ) {
     print A[$1,$2] "," $3;
  } else {
     A[$1,$2]=$1 "," $2 "," $3;
  }
}

, который выглядит так для одной прокладки, которую можно вырезать и вставить.

| awk 'BEGIN{FS=","}{if ( ($1,$2) in A ) {print A[$1,$2] "," $3;} else {A[$1,$2]=$1 "," $2 "," $3;}}'

Правильно ли это?

-121--289766-

@ Qudit - нужно hg клонировать меркуриальное репо, а git клонировать гит репо. Существуют шлюзы для преобразования одного из них в другой, но они обычно устанавливаются на площадке репозитория. Решение: используйте mercurial.

1
16.08.2018, 00:46
1 ответ

Не самый простой способ сделать это, но, надеюсь, покажет вам «один из способов»:

$ printf "%s%s\n" \
   "$(TZ=CEST date -d "$(head -1 iperf.txt)" "+%y-%m-%d %H:%M:%S")" \
   "$(grep sender iperf.txt | awk -F"]  " '{print $2}')"
18-08-15 19:35:11 0.00-10.00  sec  3.60 GBytes  3.09 Gbits/sec  1467             sender

Это работает следующим образом:

  • printf "%s%s\n"-выводит 2 строки, которые мы собираемся проанализировать из вашего iperf.txtвывода
  • "$(TZ=CEST date -d "$(head -1 iperf.txt)" "+%y-%m-%d %H:%M:%S")"-анализирует первую строку изiperf.txt(head -1)и передает ее команде dateи переформатирует дату в формате, который вы показываете в примере
  • "$(grep sender iperf.txt | awk -F"] " '{print $2}')"-анализирует строку, содержащую строку sender, а затем разбивает эту строку на символы ], выводя правую часть аргументов ], которые были разделены. Этот результат и есть $2.
1
27.01.2020, 23:42

Теги

Похожие вопросы