请问 grep 或其他 script 做得到吗?

楼主: heyk1 (大熱天)   2016-05-08 17:53:07
有一笔学生与成绩资料如下, 每个字串和数字都是用空格隔开,
xq gg hd ws ki
Jahn amber benson kilo May
35 26 08 21 11
99 76 73 86 32
90 51 89 55 80
想要用搜寻找到 benson 还有 May 的特定学生关键字,
然后把 benson 和 Mar 相对应底下第2, 3 行(固定特定行数)的数字取出来,
变成
benson May
08 11
73 32
存成新档,
请问这样要有办法写吗?
谢谢.
作者: yogi (Yogi)   2016-05-08 18:07:00
用pandas比较快
作者: rickieyang (Rickie Yang)   2016-05-08 18:14:00
一定要用 shell script 的话,先行列转置,之后再印出你要的字段
作者: n3oanderson (wake up ...)   2016-05-08 18:22:00
cat x | awk 'BEG{count=0}{if(0!=count&&8!=count){print $3 "\t" $5} count+=1}'
楼主: heyk1 (大熱天)   2016-05-08 19:27:00
转置看起来很棒, 能否请在详细束束一下作法?位置3 和 5 的数字, 有没有办法靠程式自动判断, 搜寻得到?因为学生名字关键字会改变. 谢谢.
作者: rickieyang (Rickie Yang)   2016-05-08 20:04:00
我想原 po 应该不是要这样写死的方式我是说楼上上...带全家出游,还没回到家. 晚点再回.先问一下,第一行的 xq gg 那个是什么意思?
楼主: heyk1 (大熱天)   2016-05-19 23:42:00
您讲的是对的~ 不要写死.xq gg hd ws ki 表示相对应学生的姓氏

Links booklink

Contact Us: admin [ a t ] ucptt.com