以下命令有效。
sed -i "/BC_CD23.BC_B.BC_A1.N1_C/s/CELL4WL_4BL_3/CELL4WL_4BL_1/g" s1*M8*
sed -i "/BC_CD23.BC_B.BC_A1.N0_C/s/CELL4WL_4BL_3/CELL4WL_4BL_1/g" s1*M8*
这个命令不起作用。
sed -i "/BC_CD23.BC_B.BC_A1.N*_C/s/CELL4WL_4BL_3/CELL4WL_4BL_1/g" s1*M8*
如何在模式中使用通配符?
答案1
如何在模式中使用通配符
在你的具体情况下,N*
意味着“匹配N
字符零次或多次”。
如果模式暗示单个N
字符和一个(或多个)后续数字 - 该模式部分应该是N[0-9]\{1,\}
.
此外,.
(句点) char 匹配任何字符,包括换行符(尽管换行符不会出现在此处的输入中)。要按字面匹配\.
,应将其转义主要的模式看起来像/BC_CD23\.BC_B\.BC_A1\.N[0-9]\{1,\}_C/
https://www.gnu.org/software/sed/manual/sed.html#Overview-of-basic-regular-expression-syntax