sed查找并替换由[]包围的字符串,输出到文件。

有一个包含以下内容的文件

"SCAN_IN[0]" : input;

想用sed找到并替换成scan_0。

我使用的是下面的命令

sed  's/SCAN_IN[]0[]/scan_0/' fileA > fileB

这是我所得到的

"scan_00]" : input;

我想

"scan_0" : input;

解决方案:

SCAN_IN[]0[] 模式匹配 SCAN_IN 先后 []0[] 匹配一个字符:要么 ]0[ 由于 “智能摆放”,当未逃出的。] 位于开头括号内的表达式之后 [ (或 [^ 是否定括号表达式)被视为字面意思 ] 而不是收尾的括号表达式 char)。)

在你的字符串中。SCAN_IN[]0[] 匹配 SCAN_IN[ 因此,替换的结果是 扫描_00]" : input;.

您可以使用

sed 's/SCAN_IN\[0]/scan_0/' fileA > fileB

在线 sed 演示:

s='"SCAN_IN[0]" : input;'
sed 's/SCAN_IN\[0]/scan_0/'  <<< "$s"
# => "scan_0" : input;

给TA打赏
共{{data.count}}人
人已打赏
未分类

如何在Ruby中迭代一个数组的第2个元素?[重复]

2022-9-9 4:24:19

未分类

在Python中使用replace、sub string和find替换字符串中的多个值。

2022-9-9 4:24:21

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索