代码之家  ›  专栏  ›  技术社区  ›  Nicolás Abuchar Moya

如何在Linux中从给定字符串中删除奇数索引字符[closed]

  •  -3
  • Nicolás Abuchar Moya  · 技术社区  · 2 年前

    假设我有字符串“1H2e3l4l5o”,我想保留“Hello”

    有没有办法用sed命令来实现这一点?我才刚刚开始

    echo "1H2e3l4l5o" | sed 's/{answer goes here?}//'
    

    你好

    1 回复  |  直到 2 年前
        1
  •  1
  •   markp-fuso    2 年前

    sed 想法:

    $ echo "1H2e3l4l5o" | sed -En 's/.(.)/\1/gp'
    Hello
    

    哪里:

    • -En -启用对扩展正则表达式操作的支持,并禁用模式空间的默认打印
    • .(.) -匹配两个字符,将第二个字符保存在第一个(也是唯一一个)捕获组中;将2个字符替换为。。。
    • \1 -第(1)捕获组的内容
    • gp -重复将更改应用于其余输入,直到到达行的末尾, p 将更改打印到stdout