【问题标题】:substitue @signs not followed by \n替换 @signs 后不跟 \n
【发布时间】:2018-02-16 20:59:46
【问题描述】:

我有一个看起来像这样的文件

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

我正在尝试使用 sed 替换文本中间不包含 \n 的 @ ,以使输出看起来像

dwfsdv  @
sdvs dfbvdfb gfb dgf@
substitute this [(ATsignnowAT)]rfg dfg dsgdf g@
asdfsfsfdsfds this [(ATsignnowAT)]rsdf@
WDSFSD FS@

【问题讨论】:

  • Stack Overflow 不是代码编写服务。请出示您的代码。由于 Stack Overflow 向您隐藏了关闭原因:寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定问题或错误以及在问题本身。没有明确问题陈述的问题对其他读者没有用处。请参阅:How to create a Minimal, Complete, and Verifiable example

标签: linux sed terminal


【解决方案1】:

你想匹配一个@后跟一个字符。捕获该字符并将其包含在替换中

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-23
    • 2014-09-20
    • 2023-03-23
    • 2012-07-03
    • 2011-05-12
    • 2020-12-16
    • 2021-05-14
    • 1970-01-01
    相关资源
    最近更新 更多