代码之家  ›  专栏  ›  技术社区  ›  user1342645

替换@符号不后跟\n

  •  1
  • user1342645  · 技术社区  · 7 年前

    我有一个文件

    dwfsdv  @
    sdvs dfbvdfb gfb dgf@
    substitute this @rfg dfg dsgdf g@
    asdfsfsfdsfds this @rsdf@
    WDSFSD FS@
    

    我试图用sed替换文本中间不包含后跟的@,以便输出如下所示

    dwfsdv  @
    sdvs dfbvdfb gfb dgf@
    substitute this [(ATsignnowAT)]rfg dfg dsgdf g@
    asdfsfsfdsfds this [(ATsignnowAT)]rsdf@
    WDSFSD FS@
    
    1 回复  |  直到 7 年前
        1
  •  2
  •   glenn jackman    7 年前

    您希望匹配后跟字符的@。捕获该角色并将其包含在替换中

    sed -E 's/@(.)/[(ATsignnowAT)]\1/g'
    

    行尾的@后面不会跟字符,因此不匹配。