免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6094 | 回复: 5

[文本处理] 2者之间插入一行 [复制链接]

论坛徽章:
2
15-16赛季CBA联赛之四川
日期:2020-08-18 20:19:4815-16赛季CBA联赛之青岛
日期:2022-01-19 11:51:49
发表于 2022-04-21 11:25 |显示全部楼层
本帖最后由 unix520 于 2022-04-21 21:32 编辑

a.txt

2者之间插入一行
如果上一个设备名称及mac  和下一个设备名称及mac不同  且这2者之间没有退出字段, 就在前一行插入1行退出字段 时间段可取最后一行  但如果检测到这者之间有退出字段, 则不需做任何处理

如果上一个设备名称及mac  和下一个设备名称及mac相同   不管中间有没有退出字段  都不做任何处理

例:   在 "设备 PC:" 这一行字段后面的一定会是是名称及mac字段  北京A 45:C5:3B:83:27:B7


原文件是没有空行的,  留空行是为了方便大家看明白   

如果插入时间难以处理情况就可以固定插入时间  例如全部固定插入 "退出" 这字段也可以, 可以不带时间




谢谢

论坛徽章:
6
15-16赛季CBA联赛之浙江
日期:2021-07-14 11:18:4315-16赛季CBA联赛之浙江
日期:2021-08-20 17:26:1015-16赛季CBA联赛之天津
日期:2021-09-01 10:56:4619周年集字徽章-19
日期:2021-10-12 11:08:032016科比退役纪念章
日期:2021-10-12 11:33:4515-16赛季CBA联赛之深圳
日期:2021-11-11 14:25:38
发表于 2022-04-21 13:57 |显示全部楼层
  1. awk '/退出/{a=1}/设备/{if(a){print $0;a=0;next}else{if(b&&b!=$6){print $1,$2,$3,$4,"退出";print $0;b=$6;a=0;next}else{print $0;b=$6;a=0;next}}}1' 1.txt
复制代码


试试吧,根据你给出的样本,这个应该可以满足了,不清楚你的文件是否还有其他情况需要做判断

论坛徽章:
2
15-16赛季CBA联赛之四川
日期:2020-08-18 20:19:4815-16赛季CBA联赛之青岛
日期:2022-01-19 11:51:49
发表于 2022-04-21 14:25 |显示全部楼层
回复 2# a5love3n

大哥666    好我马上test

论坛徽章:
2
15-16赛季CBA联赛之四川
日期:2020-08-18 20:19:4815-16赛季CBA联赛之青岛
日期:2022-01-19 11:51:49
发表于 2022-04-21 15:11 |显示全部楼层
本帖最后由 unix520 于 2022-04-21 21:33 编辑

回复 2# a5love3n

ok





论坛徽章:
6
15-16赛季CBA联赛之浙江
日期:2021-07-14 11:18:4315-16赛季CBA联赛之浙江
日期:2021-08-20 17:26:1015-16赛季CBA联赛之天津
日期:2021-09-01 10:56:4619周年集字徽章-19
日期:2021-10-12 11:08:032016科比退役纪念章
日期:2021-10-12 11:33:4515-16赛季CBA联赛之深圳
日期:2021-11-11 14:25:38
发表于 2022-04-21 15:59 |显示全部楼层
回复 4# unix520

  1. awk '/退出/{a=1;b=""}/设备/{if(a){print $0;a=0;next}else{if(b&&b!=$6$7){print $1,$2,$3,$4,"退出";print $0;b=$6$7;a=0;next}else{print $0;b=$6$7;a=0;next}}}1' 1.txt

  2. 修复名字和mac完全匹配问题,以及错误插入退出行问题
复制代码

论坛徽章:
2
15-16赛季CBA联赛之四川
日期:2020-08-18 20:19:4815-16赛季CBA联赛之青岛
日期:2022-01-19 11:51:49
发表于 2022-04-21 16:50 |显示全部楼层
回复 5# a5love3n

谢谢大哥真神      这次666了

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP