有一个文件,内容如下:
Package: linux-headers-abc
.
.
.
Build-Profiles: abc
\n
Package: linux-image-*
.
.
.
Build-Profiles: abc
\n
Package: linux-headers-def
.
.
.
Build-Profiles: def
\n
.
.
.
怎么匹配换行符\n和Package: linux-headers-*之间的内容(包括Package),并删除其他没匹配的内容。
shell脚本匹配,并删除未匹配部分
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 爱吃苦瓜的猿 2022-08-17 16:15关注
解题思路:
1-获取Package: linux-headers-的行号列表 2-获取\n的行号列表 3-用2层循环找1和2组成的起始行号对(比如起始行号为10,那就要找到第一个大于10的\n行号,为其对应的截止行号)。 4-遍历上面的起始行号对,倒序删除。加入组成的对为5,10,20,25. 那么先删除25-最后 在删除10-20 再删除首行-5 这样剩下的就是要保留的
注意事项:
1.删除时记得一定要倒序删,正序前面的行号删掉后,后面的行号就变了,倒序删就没有这个问题 2.首行前面是否需要删除需要判断是否满足 第一个行号 > 1
这题和你上次的题差不多,只是第三步复杂了一点。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度