首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用sed命令替换特定值

如何使用sed命令替换特定值
EN

Stack Overflow用户
提问于 2015-08-12 03:18:41
回答 1查看 98关注 0票数 0

我想知道sed命令中的正则表达式是什么,用于从"x"文件中搜索$a值并替换为$b值。

代码语言:javascript
复制
$a="o=SAR-9|csa_6fe_2ge_v2_r1:3|csa_16ds1_e1_r2|csa_ds3e3_4_r1|csa_aux_alarm|csa_oc3cc_4_r1|csa_oc3_2_asap_r1|csa_oc3cc_4_r1|"

$b="SAR-18"

我尝试使用下面的命令来搜索和替换该值,但它在perl脚本中不起作用。所以我在sed中寻找匹配$a值的正则表达式。

代码语言:javascript
复制
sed -i s/$a/$b/g <file-name>
EN

回答 1

Stack Overflow用户

发布于 2015-08-12 03:22:54

在Perl中,

代码语言:javascript
复制
# Generate a regex pattern that matches the string in $a
my $a_re = quotemeta($a);

s/$a_re/$b/

上面的代码可以缩短为

代码语言:javascript
复制
s/\Q$a\E/$b/
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31950174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档