Iamliutt的个人空间 https://blog.eetop.cn/1760774 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

用sed在匹配行后的x行插入新行

已有 97 次阅读| 2024-4-23 16:18 |个人分类:linux命令整理|系统分类:芯片设计| sed命令

预览:

1
sed -i '/aaa/{n;n;n;s|$|\n新添加的行|p}'  3hang_addline.txt


应用:

1
sed -i  '/aaa/{n;n;n;s|$|\n新添加的行|}'  3hang_addline.txt


解释:

n;n;n;就是从匹配的aaa往下走三行,到位后,将行尾添加换行符——新增一行,\n后面就是新行的内容。

|p 是可以插入2次;



如果我要在匹配到aaa后的1000行添加新行,难道要打1000次“n;”吗?

我的回答是,如果数字很大,可用以下方式。


示例:

set num = `grep 'aaa' 3hang_addline.txt -n | awk -F ":" '{print $1}' `

set n == `expr $num + 3`

sed -i  $n's|$|\n你要添加的行|3hang_addline.txt

 
1
num=`sed -n  -e '/aaa/='  3hang_addline.txt`;sed -n $((num+3))'s|$|\n你要添加的行|p' 3hang_addline.txt


应用:

1
num=`sed -n  -e '/aaa/='  3hang_addline.txt`;sed -i $((num+3))'s|$|\n你要添加的行|' 3hang_addline.txt



转载自"hixtao"的回复




点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 10

    周排名
  • 0

    月排名
  • 0

    总排名
  • 1

    关注
  • 25

    粉丝
  • 11

    好友
  • 74

    获赞
  • 20

    评论
  • 6555

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-4 00:53 , Processed in 0.013146 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部