Я пытаюсь создать небольшой сценарий оболочки, который берет вывод этой команды: nc 127.0.0.1 5556 2›/dev/null (вывод показан ниже) и анализирует его на отдельные переменные, чтобы я мог передавать через клиент mqtt. Я думаю, мне нужно использовать grep или, возможно, awk.
Так, например, если я хочу разобрать 5 значений, связанных с wind0, на 5 отдельных переменных, как бы я это сделал. Мне нужно получить $a=220, $b=0,0, $c=0,0, $d=8,2 и $e=0.
Благодарю вас!
Баобаб
Изменить: оказывается, что система, на которой я пытаюсь это сделать, основана на OpenWRT, поэтому, очевидно, использует ash или BusyBox, а не bash.
20201103061623 th0 8.2 39 -4.9 0
20201103061629 wind0 220 0.0 0.0 8.2 0
20201103061611 rain0 0.0 153.8 0.0 0
20201103061547 thb0 22.3 32 4.8 901.7 1004.5 0 1
20201103061628 data10 0.00 0
20201103061628 data11 1.29 0
20201103061628 data12 0.00 0
20201103061628 data13 11.00 0
20201103061628 data15 108.00 0
20201103061628 data16 3.00 0
20201103061628 t9 50.5 0
awk
будет лучшим выбором для этого. - person l'L'l   schedule 03.11.2020