regex - Sed 通配符——替换某些字符的中间

标签 regex bash sed

我有这样一行

"RU_28" "CDM_279" "CDI_45"
"RU_567" "CDM_528" "CDI_10000"

我要得到下面的结果

"RU_28" "CDM_Unusued" "CDI_45"
"RU_567" "CDM_Unusued" "CDI_10000"

对文件中的所有行执行此操作

我正在使用这个命令:

sed 's/\"CDM_\w*\"/\"Unusued\"/g' File1.txt > File2.txt

好像不行。

提前致谢!!!

最佳答案

您可以使用:

sed -i.bak 's/"\(CDM_\)[^"]*"/"\1Unused"/' file1.txt

关于regex - Sed 通配符——替换某些字符的中间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9261281/

相关文章:

java - Java 中多项式表达式的正则表达式

Javascript 正则表达式匹配在实际页面上失败,但正则表达式测试工作得很好

bash - awk 两列进入 bash for 循环

c# - 删除 "[ ]"和字符串中出现的所有内容

linux - SSH命令中如何同时拥有本地和远程变量

linux - 转储失败,因为无法加载 Assets

linux - sed命令替换字符串不起作用

linux - 如何从所有文件中删除特定行?

linux - 如何在两个匹配模式之间但在第二个模式之前插入一条线

mysql - 根的正则表达式和 MySQL 中的一些变体