CUS_PRODUCT_VER=`echo $CUS_PRODUCT_VER|tr -cd "[0-9]"` 换一个方法
时间: 2024-03-10 08:45:57 浏览: 18
可以使用sed命令来实现。具体命令如下:
```
CUS_PRODUCT_VER=$(echo $CUS_PRODUCT_VER | sed 's/[^0-9]//g')
```
这条命令中,sed命令的作用是将CUS_PRODUCT_VER中的非数字部分替换为空字符串,最终得到的结果就是只包含数字的字符串。
相关问题
echo -e "\n版本自增" echo 'user='$1 myTargetFile=./device/newlink/NL5H00X/Hisi352_YG.csv csvSel=cat $myTargetFile|grep "${CUS_PROJECT_NAME},${CUS_PRODUCT_ID},${CUS_OS_TYPE},${CUS_CUSTOMER_NAME}" delVercsv=${csvSel//$CUS_PRODUCT_VER/} echo -e "\n csv select:\n\t"$csvSel echo -e "\n csv product version:\t"$CUS_PRODUCT_VER echo -e "\n csv delVercsv :\t"$delVercsv CUS_PRODUCT_VER=echo $CUS_PRODUCT_VER|tr -cd "[0-9]" let CUS_PRODUCT_VER++ CUS_PRODUCT_VER=echo V${CUS_PRODUCT_VER:0:1}.${CUS_PRODUCT_VER:1:1}.${CUS_PRODUCT_VER:2:1}.${CUS_PRODUCT_VER:3:1} echo " 版本更新为:"$CUS_PRODUCT_VER 我如何将修改过的CUS_PRODUCT_VER重新写到文件里面去
你可以使用sed命令将修改过的CUS_PRODUCT_VER写回到文件中,如下所示:
```
sed -i 's/${CUS_PROJECT_NAME},${CUS_PRODUCT_ID},${CUS_OS_TYPE},${CUS_CUSTOMER_NAME},${CUS_PRODUCT_VER}/${CUS_PROJECT_NAME},${CUS_PRODUCT_ID},${CUS_OS_TYPE},${CUS_CUSTOMER_NAME},${CUS_PRODUCT_VER}/g' $myTargetFile
```
其中,-i选项表示直接修改文件,s命令用于替换字符串,g选项表示替换所有匹配的字符串,$myTargetFile表示要修改的目标文件。这个命令会将文件中所有匹配的字符串替换为新的字符串,从而实现将修改后的CUS_PRODUCT_VER写回到文件中。
换一个方法 delVercsv=echo ${csvSel%$CUS_PRODUCT_VER}
这个命令不是一个完整的命令,缺少了 `$()` 语法。如果要将 `${csvSel%$CUS_PRODUCT_VER}` 的结果保存到 `$delVercsv` 变量中,应该使用下面的命令:
```
delVercsv=$(echo ${csvSel%$CUS_PRODUCT_VER})
```
这个命令首先执行了一个 `echo` 命令,将 `${csvSel%$CUS_PRODUCT_VER}` 的结果输出到标准输出,然后使用 `$()` 语法将输出结果保存到 `$delVercsv` 变量中。`${csvSel%$CUS_PRODUCT_VER}` 的含义是从变量 `$csvSel` 的末尾开始,删除最后一个匹配 `$CUS_PRODUCT_VER` 的字符串及其后面的内容,这里的 `$()` 语法可以让这个操作的结果被保存到一个变量中。