perl – 循环 – 提取文本以进行记录,直到下一条记录
发布时间:2020-12-16 06:23:09 所属栏目:大数据 来源:网络整理
导读:我的虚拟文件如下所示: Tom text text text,year = 16 text text text Grades . . . . 10 Grades . . . . 9 Ann text text text,year = 17 text Grades . . . . 10 Grades . . . . 10 Grades . . . . 9 我想要: 对于每个名称赋值,提取年份和年份等级行中的
我的虚拟文件如下所示:
>Tom text text text,year = 16 text text text Grades . . . . 10 Grades . . . . 9 >Ann text text text,year = 17 text Grades . . . . 10 Grades . . . . 10 Grades . . . . 9 我想要: 1 Tom 1 year = 16 1 10 1 9 2 Ann 2 year = 17 2 10 2 10 2 9 我不知道如何从记录到下一条记录修改文本.有可能grep’^>’ -An,但每个记录的行号不同. 解决方法
假设你的真实文件中没有前导空格,这是使用awk的一种方式:
awk 'sub(/^>/,"") { print ++i,$0 } /Grades/ { print i,$NF } /year =/ { print i,"year = ",$NF }' file 结果: 1 Tom 1 year = 16 1 10 1 9 2 Ann 2 year = 17 2 10 2 10 2 9 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |