Убедитесь, что на сервере установлена та же версия iperf.
У меня было такое же сообщение, когда я запускал iperf3
на сервере и пробовал команду iperf
на клиенте.
Что помогло, так это установить iperf3
на клиенте и запустить его.
Использованиеawk
:
awk -F"[=' ]" -v OFS=, '
$1=="hostname"{ hn=$5; next }
!hdr && hn { print "Hostname", "Variable", "Value"; hdr=1 }
NF && hn { print hn, $1, $5 }' infile >output.csv
с -F"[=' ]"
, мы определили любой из символов =
, '
и пробела в качестве разделителей полей, поэтому awk разделит строки на поля на основе этих разделителей.
с OFS=,
, вывод генерируется в полях, разделенных запятыми, для создания простого CSV-файла,измените это на некоторые другие символы в зависимости от ваших потребностей.
Ответ почти такой же, как у @αғsнιη. Я использую блок BEGIN
для записи заголовка и назначение $0 = ""
для очистки строки, когда она содержит имя сервера.
awk -F"[= ']" -vOFS=, 'BEGIN {print "Hostname", "Variable", "Value"} $5~/^server[0-9]+$/ && h=$5 {$0 = ""} $0!~/^$/ {print h, $1, $5}' data
Использование Миллера и запуск
<input.txt sed "s/'//g" | mlr --x2c --ips "=" clean-whitespace then reshape -r "var" -o variable,value
у вас будет
hostname,variable,value
server1,var1,abc
server1,var2,xyz
server1,var3,def
server7,var1,ghi
server7,var2,mno
server7,var3,jkl