【发布时间】:2015-09-13 06:39:25
【问题描述】:
这是我生成的输入,显示 Jany 和 Marco 在不同时间的课程版本。
on 10:00 the course of jany 1 is :
course:theory:nothing
course:applicaton:onehour
on 10:00 the course of jany 2 is :
course:theory:math
course:applicaton:twohour
on 10:00 the course of Marco 1 is :
course:theory:geo
course:applicaton:halfhour
on 10:00 the course of Marco 2 is :
course:theory:history
course:applicaton:nothing
on 14:00 the course of jany 1 is :
course:theory:nothing
course:applicaton:twohours
on 14:00 the course of jany 2 is :
course:theory:music
course:applicaton:twohours
on 14:00 the course of Marco 1 is :
course:theory:programmation
course:applicaton:onehours
on 14:00 the course of Marco 2 is :
course:theory:philosophy
course:applicaton:nothing
使用 awk 命令我成功对其进行了排序:
awk -F '[\ :]' '/the course of/{h=$2;m=$3} /theory/{print " "h":"m" theory:"$3}' f.txt
awk -F '[\ :]' '/the course of/{h=$2;m=$3} /application/{print " "h":"m" application :"$3}' f.txt
10:00 theory:nothing
14:00 theory:nothing
10:00 application:onehour
14:00 application:twohours
现在我想通过添加名称(jany,Marco)和版本(1 或 2)来改进过滤器,如下所示。
Jany 1,10:00,14:00
theory,nothing,nothing
application,onehour,twohour
Jany 2,10:00,14:00
theory,math,music
application,twohour,twohour
Marco 1,10:00,14:00
theory,geo,programmation
application,halfhour,onehour
Marco 2,10:00,14:00
theory,history,philosoohy
application,nothing,nothing
我被困在如何提取“姓名、编号”并在排序和过滤的表中获取涉及他们课程的信息。
【问题讨论】: