插入文字字串

时间:2019-05-01 21:27:52

标签: bash awk sed

我要在字符串中插入文本

#!/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 :(得分:0)

$ 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

答案 1 :(得分:0)

写出来
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}"