請問 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