You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用单条POSIX兼容sed命令实现多插入/追加操作

可移植的POSIX sed多插入/追加命令实现
  • 核心需求:用一条可移植的sed命令完成多插入/追加操作

  • GNU sed的简洁实现:
    在GNU sed环境下,借助多个-e参数就能快速实现需求,示例命令:

    sed -e '1i hi' -e '$a bye' <(seq 1 10)
    
  • POSIX兼容方案的尝试:
    为适配POSIX标准的sed,试过几种可行写法,但存在移植性缺陷:

    sed --posix '1{x;s/$/hi/;G};//h;${x;s/$/
    bye/}' <(seq 1 10)
    
    sed --posix '1{x;s/$/hi/;G};${s/$/
    bye/}' <(seq 1 10)
    

    以上写法中直接嵌入的换行符不具备可移植性,无法在不同环境下稳定运行。

  • 最终选定的单行可移植方案:
    尝试过多行写法、捕获换行符等方式后,最终采用基于参数扩展的单行实现(参考Potong的方案):

    sed --posix $'1i\\hi\n;$a\\bye' <(seq 1 10)
    

    该方案既符合POSIX标准,又能以单行命令形式完成多插入/追加需求。

内容的提问来源于stack exchange,提问作者Adam D.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 00:49:54