sed -i "/"${csvSel}"/c"${delVercsv}""${CUS_PRODUCT_VER}"" $myTargetFile 其中的CUS_PRODUCT_VER前面会多一个空格
时间: 2023-07-19 08:31:08 浏览: 71
这段代码中,CUS_PRODUCT_VER前面多一个空格是因为在字符串拼接时没有注意空格的问题。可以将代码修改为以下形式来去掉空格:
```
sed -i "/${csvSel}/c${delVercsv}${CUS_PRODUCT_VER}" $myTargetFile
```
在这里,我们使用了变量替换的方式来拼接sed命令中的字符串。注意到在双引号中使用变量时,可以直接将变量名放在双引号中,而不需要使用${}来括起来。
相关问题
sed -i "/"${csvSel}"/c"${delVercsv}""${CUS_PRODUCT_VER}"" $myTargetFile
这代码的作用是将 myTargetFile 文件中包含 csvSel 字符串的行替换为 delVercsv+CUS_PRODUCT_VER。
可以使用以下方式实现:
```
sed -i "s|${csvSel}|${delVercsv}${CUS_PRODUCT_VER}|g" "$myTargetFile"
```
在 sed 命令中,使用双引号包含需要替换的字符串,其中变量 csvSel 表示需要替换的字符串,变量 delVercsv 表示替换后的字符串的前半部分,变量 CUS_PRODUCT_VER 表示替换后的字符串的后半部分。
使用 `s` 命令将 csvSel 替换为 delVercsv+CUS_PRODUCT_VER,`|` 用作分隔符,`g` 表示全局替换。
另外,由于 myTargetFile 变量中可能包含空格等特殊字符,因此需要将其用双引号包含起来。
sed -i "/"${csvSel}"/c"${delVercsv}""${CUS_PRODUCT_VER}"" $myTargetFile 换一种写法
这行代码的作用是将 myTargetFile 文件中包含 csvSel 字符串的行替换为 delVercsv+CUS_PRODUCT_VER。
可以使用以下方式实现:
```
sed -i "/${csvSel}/c\\${delVercsv}${CUS_PRODUCT_VER}" "$myTargetFile"
```
在 sed 命令中,使用双引号包含需要替换的字符串,其中变量 csvSel 表示需要替换的字符串,变量 delVercsv 表示替换后的字符串的前半部分,变量 CUS_PRODUCT_VER 表示替换后的字符串的后半部分。
由于替换的字符串中可能包含特殊字符,比如 $、\ 等,因此需要在前面加上反斜杠转义。为了避免转义符号造成的问题,这里使用了换行符来分隔字符串。
另外,由于 myTargetFile 变量中可能包含空格等特殊字符,因此需要将其用双引号包含起来。
阅读全文