Вставить текстовую строку - PullRequest
0 голосов
/ 02 мая 2019

Я хочу вставить текст в мою строку

#!/bin/bash

result=(4,51.0,60.0,70.2,888,91)

result2=$(echo "${result:2}" | sed -r 's/,/;/g')
echo "$result2"

Я хочу, чтобы мой окончательный результат был

Intemp=51;humidity=60;cold=70.2;heat=888;fan=91

Любая помощь приветствуется и заранее благодарим.

Ответы [ 2 ]

0 голосов
/ 02 мая 2019

Запишите это с

result='4,51.0,60.0,70.2,888,91'
sed -r 's/([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*)/Intemp=\2;humidity=\3;cold=\4;heat=\5;fan=\6/' <<< "${result//.0}"
0 голосов
/ 02 мая 2019
$ result='4,51.0,60.0,70.2,888,91'

$ echo "${result#*,}" | awk -v tags='Intemp,humidity,cold,heat,fan' -F',' -v OFS=';' '
    BEGIN{split(tags,t)} {for (i=1;i<=NF;i++) $i=t[i]"="($i+0)} 1
'
Intemp=51;humidity=60;cold=70.2;heat=888;fan=91
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...