sed-i'/$$wf#U cdc=/c\$$wf#U cdc=&x27&引用$1“'';什么意思?

sed-i'/$$wf#U cdc=/c\$$wf#U cdc=&x27&引用$1“'';什么意思?,sed,Sed,我的脚本只有一行,但我无法理解它的真正作用: sed -i '/$$wf_cdc=/c\$$wf_cdc='"$1"'' /Infa_sharedBDE/PARAMS/pf_CREDITO_CDC.cfg 它应该取代创建pf_CREDITI_CDC.cfg文件的副本,但是 这个命令的作用是什么 '/$$wf_cdc=/c\$$wf_cdc='"$1"'' 什么是$$?$$在这里按字面意思使用。该命令执行以下操作: '/$$wf\u cdc=/是一个行地址:如果一行包含字符串$$wf\u c

我的脚本只有一行,但我无法理解它的真正作用:

sed -i '/$$wf_cdc=/c\$$wf_cdc='"$1"'' /Infa_sharedBDE/PARAMS/pf_CREDITO_CDC.cfg
它应该取代创建pf_CREDITI_CDC.cfg文件的副本,但是 这个命令的作用是什么

'/$$wf_cdc=/c\$$wf_cdc='"$1"''

什么是
$$

$$
在这里按字面意思使用。该命令执行以下操作:

  • '/$$wf\u cdc=/
    是一个行地址:如果一行包含字符串
    $$wf\u cdc=
    ,则
  • c\$$wf\u cdc='“$1”
    也可以写入
    c$$wf\u cdc='“$1”
    (至少在GNU sed中):它用
    \$$wf\u cdc='“$1”替换模式空间(当前行)。就我个人而言,我两次都会逃避
    $
    ,以确保它不会被解释为线尾锚,但有时你会逃避它。
    • “$1”
      是正确引用的第一个位置参数:结束sed命令的单引号,然后在双引号中插入
      $1
      ,然后完成单引号字符串的其余部分(在本例中为空,我认为可以删除)
总之,这将在函数或脚本中调用,找到包含
$$wf\u cdc=
的行,并将其替换为
$$wf\u cdc=
,其中
作为其第一个参数提供给脚本或函数

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