我爱占星网 我爱占星网
首页
编程
java
php
前端
首页 编程 java php 前端

使用sed命令如何删除a第二次出现的行的下两行

使用sed命令如何删除a第二次出现的行的下两行
cat a.txt
a
b
c
a
1234
2234
d
e

只想删除 1234 和 2234 这两行, 只知道他俩在第二个 a 的下两行

这个问题直接用sed不好解决,可以先获取第2个a的行号,然后再用sed就好解决了,下面的一个思路可以供参考。

secondline=$(grep -n 'a' a.txt | sed -n '2p' | cut -d : -f 1)
l1=$((secondline+1))
l2=$((secondline+2))
sed -i "${l1},${l2}d" a.txt

执行效果如下:

img

近期文章

  • c++ de最接近的分数
  • E0169应输入声明
  • driver.find_element报错
  • QT开发的程序有什么办法在烧录了标准Openharmony的板子上跑呀
  • 如何在MongoDB中使用$ in查询中的ObjectId?
  • 使用vue-property-decorator的问题
  • mybatis的mapper方法绑定异常Invalid bound statement (not found):
  • unity导出安卓apk出现的报错情况
  • python中rgb2gray函数未被定义
  • mysql 运行报1050
  • 页面上有一个盒子,点击确认去百度,取消不做任何反应
  • 计算机二级C语言考试
  • 2022年计算机专业笔记本推荐
  • PHP动态返回类型提示
  • 不知道为何新电脑屏幕变花
  • MACOS npm WARN config global……如何解决?
  • Java:继承中的重写和多态中的重写有什么区别?
  • Java如何获取文件右键属性-详细信息
  • 仅用队头指针等于队尾判空满
  • 关于#历史数据#的问题,如何解决?

Copyright ©2022 我爱占星 All Rights Reserved.

浙ICP备2022030071号-1

部分图文来自网络,如有侵犯您的版权,请告诉我们删除

友情链接:代码精华