sed -i "/"${csvSel}"/c"${delVercsv}""${CUS_PRODUCT_VER}"" $myTargetFile 其中的CUS_PRODUCT_VER前面会多一个空格
时间: 2023-07-19 16:31:08 浏览: 39
这段代码中,CUS_PRODUCT_VER前面多一个空格是因为在字符串拼接时没有注意空格的问题。可以将代码修改为以下形式来去掉空格:
```
sed -i "/${csvSel}/c${delVercsv}${CUS_PRODUCT_VER}" $myTargetFile
```
在这里,我们使用了变量替换的方式来拼接sed命令中的字符串。注意到在双引号中使用变量时,可以直接将变量名放在双引号中,而不需要使用${}来括起来。
相关问题
sed -i "/${csvSel}/c${delVercsv}${CUS_PRODUCT_VER}" "$myTargetFile"
这段代码的作用是用 `${CUS_PRODUCT_VER}` 替换 `${csvSel}` 所匹配到的行,`${delVercsv}` 是一个空变量。
具体来说,`sed` 命令用于对文件进行文本替换操作,其中 `-i` 表示直接修改原文件,`/${csvSel}/` 表示查找匹配 `${csvSel}` 的行,`${delVercsv}${CUS_PRODUCT_VER}` 表示将 `${CUS_PRODUCT_VER}` 添加到 `${delVercsv}` 后面,然后用这个字符串替换匹配到的行。`${delVercsv}` 这个变量看起来是一个空变量,可能是用于以后的扩展或者是遗留下来没有删除的。`"$myTargetFile"` 表示需要进行操作的目标文件。
总之,这段代码的作用是将 `${CUS_PRODUCT_VER}` 替换掉 `${csvSel}` 所匹配到的行,并将结果写回到 `${myTargetFile}` 中。
sed -i "/${csvSel}/c${delVercsv}${CUS_PRODUCT_VER}" "$myTargetFile" 以V开头
这段代码的作用是将变量 `${CUS_PRODUCT_VER}` 格式化为以 `V` 开头的形式,用于替换匹配到 `${csvSel}` 的行。
具体来说,`${CUS_PRODUCT_VER}` 可以是任意字符串,例如 `1.2.3.4`。`${csvSel}` 是一个正则表达式,用于匹配需要替换的行。`${delVercsv}` 可能是一个空变量,没有实际作用。`${CUS_PRODUCT_VER}` 通过字符串拼接的方式,添加了一个 `V` 前缀,变成了 `V1.2.3.4` 的形式。
`sed` 命令中的 `/c` 表示用 `${delVercsv}${CUS_PRODUCT_VER}` 替换匹配到的行,`${delVercsv}${CUS_PRODUCT_VER}` 就是拼接后的字符串。`-i` 参数表示直接修改文件,`${myTargetFile}` 是需要操作的目标文件。
总之,这段代码的作用是将匹配到的行用 `${delVercsv}${CUS_PRODUCT_VER}` 替换掉,其中 `${CUS_PRODUCT_VER}` 是以 `V` 开头的版本号。