其中有个唯一值CUS_PROJECT_NAME 怎么指定 只修改CUS_PROJECT_NAME中的CUS_PRODUCT_VER
时间: 2023-08-01 12:07:10 浏览: 85
如果你只想修改CUS_PRODUCT_VER所在行的CUS_PROJECT_NAME字段,可以在sed命令中加入匹配条件。假设你想修改的CUS_PROJECT_NAME为"project1",修改前CUS_PRODUCT_VER为"V1.2.3.4",修改后CUS_PRODUCT_VER为"V1.2.3.5",则sed命令可以写成:
```
sed -i '/^project1,[^,]*,[^,]*,[^,]*,'$CUS_PRODUCT_VER'/s/'$CUS_PRODUCT_VER'/'$CUS_PRODUCT_VER_NEW'/g' $myTargetFile
```
其中,/^project1,[^,]*,[^,]*,[^,]*,/表示匹配以"project1,"开头,后面跟着三个不包含逗号的字段的行。'$CUS_PRODUCT_VER'表示匹配CUS_PRODUCT_VER字段的值,$CUS_PRODUCT_VER_NEW是修改后的版本号。这条命令会将匹配到的CUS_PRODUCT_VER替换为$CUS_PRODUCT_VER_NEW。
相关问题
csvSel=`cat $myTargetFile|grep "${CUS_PROJECT_NAME},${CUS_PRODUCT_ID},${CUS_OS_TYPE},${CUS_CUSTOMER_NAME}"` delVercsv=`echo ${csvSel%$CUS_PRODUCT_VER}` 其中的$CUS_PRODUCT_VER 没有被删掉
这段代码中,$CUS_PRODUCT_VER没有被删掉是因为在delVercsv变量中没有指定要删除的内容。可以使用以下代码将$CUS_PRODUCT_VER从csvSel中删除:
```
csvSel=`cat $myTargetFile|grep "${CUS_PROJECT_NAME},${CUS_PRODUCT_ID},${CUS_OS_TYPE},${CUS_CUSTOMER_NAME}"`
delVercsv=${csvSel//$CUS_PRODUCT_VER/}
```
在这里,我们使用了bash shell的字符串替换功能,将$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写回到文件中。
阅读全文
相关推荐















