我需要处理一个包含多行记录的大数据文件,示例输入:
1 Name Dan
1 Title Professor
1 Address aaa street
1 City xxx city
1 State yyy
1 Phone 123-456-7890
2 Name Luke
2 Title Professor
2 Address bbb street
2 City xxx city
3 Name Tom
3 Title Associate Professor
3 Like Golf
4 Name
4 Title Trainer
4 Likes Running
请注意,第一个整数字段是唯一的,并且真正标识了整条记录。所以在上面的输入中我确实有 4 条记录,虽然我不知道每条记录可能有多少行属性。我需要: - 识别有效记录(必须有“名称”和“标题”字段) - 输出每个有效记录的可用属性,例如“名称”、“标题”、“地址”是需要的字段。
示例输出:
1 Name Dan
1 Title Professor
1 Address aaa street
2 Name Luke
2 Title Professor
2 Address bbb street
3 Name Tom
3 Title Associate Professor
所以在输出文件中,记录 4 被删除,因为它没有“名称”字段。记录 3 没有地址字段,但仍被打印到输出,因为它是具有“名称”和“标题”的有效记录。
我可以用 awk 做到这一点吗?但是我如何使用每行上的第一个“id”字段来识别整个记录?
非常感谢 unix shell 脚本专家帮助我!:)