首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sed -i‘/$$wf_cdc=/c\$$wf_cdc=’“$1”‘是什么意思?

sed -i‘/$$wf_cdc=/c\$$wf_cdc=’“$1”‘是什么意思?
EN

Stack Overflow用户
提问于 2017-06-08 19:19:14
回答 1查看 41关注 0票数 0

我有一个只有一行的脚本,但我不能理解它的真正作用:

代码语言:javascript
复制
sed -i '/$$wf_cdc=/c\$$wf_cdc='"$1"'' /Infa_sharedBDE/PARAMS/pf_CREDITO_CDC.cfg

它应该代替创建pf_CREDITI_CDC.cfg文件的副本,但是这个命令有什么作用呢?

代码语言:javascript
复制
'/$$wf_cdc=/c\$$wf_cdc='"$1"''

什么是$$

EN

回答 1

Stack Overflow用户

发布于 2017-06-08 22:36:13

这里字面上用的是$$。该命令执行以下操作:

  • '/$$wf_cdc=/是一个行地址:如果一行包含字符串$$wf_cdc=,那么...
  • c\$$wf_cdc='"$1"''也可以写成c $$wf_cdc='"$1"'' (至少在GNU中是这样):它用\$$wf_cdc='"$1"''替换模式空间(当前行)。就我个人而言,我两次都会避开$,以确保它不会被解释为行尾锚点,但有时你会逃脱它。
    • '"$1"''是第一个正确引号的位置参数:结束sed命令的单引号,然后在双引号中插入$1,然后结束单引号字符串的其余部分(在本例中,为空,并且可以在我的opinion).

中删除

总而言之,这将在函数或脚本中调用,找到包含$$wf_cdc=的行并将其替换为$$wf_cdc=<parameter>,其中<parameter>将作为第一个参数提供给脚本或函数。

-i标志“就地”替换正在编辑的文件,即制作并修改临时副本,然后将该副本重命名为原始文件的名称。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44434268

复制
相关文章

相似问题

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