awk -F '=' "/\[$section\]/{a=1}(a==1 && \"$key\"==\$1){\$2=\"=\"$value\"\"}1" $file > tmp.ini cat tmp.ini |grep devtype 为什么输出是devtype =1,而不是devtype=1
时间: 2023-06-27 14:07:52 浏览: 197
无线AP藦萨AWK-3131A
这是因为在awk命令中,你使用了双引号来包含字符串,而双引号会对其中的变量进行展开和替换。所以在将$value的值赋给\$2时,双引号也被包含了进去,就导致了输出中出现了多余的空格。
为了避免这种情况,你可以使用单引号来包含字符串,这样其中的变量就不会被展开和替换:
```
awk -F '=' '/\['$section'\]/{a=1}(a==1 && "'$key'"==$1){$2="="'$value'""}1' $file > tmp.ini
```
这样输出就会是devtype=1了。
阅读全文