如何用sed在以this开头(不区分大小写)的行前插入含该行内容的注释行?
正确的sed命令实现
你可以使用以下sed命令完成需求:
sed -i '/^this/I {h; s/^/# /; p; x; p}' "$file"
命令解析
/^this/I: 匹配以"this"开头的行(I参数实现大小写不敏感匹配)h: 将当前匹配行的内容复制到sed的**保留空间(hold space)**暂存s/^/# /: 在当前行开头添加#,生成带标题格式的行内容p: 打印这个带#的修改后行x: 交换保留空间和模式空间的内容,让模式空间恢复为原始未修改的行p: 打印原始行内容
该命令会在每一行匹配行的上方插入一个带#的相同内容行,同时保留原行不变。
内容的提问来源于stack exchange,提问作者Mister Claret
相关产品推荐
相关产品推荐

