作者:
Neisseria (Neisseria)
2016-05-08 08:45:17※ 引述《heyk1 (大熱天)》之銘言:
: 有一筆學生與成績資料如下, 每個字串和數字都是用空格隔開,
: 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
: 存成新檔,
: 請問這樣要怎麼寫會比較好?
: 感謝各位高手賜教~
小弟不是高手,不過試著回答你的問題
因程式較長,推文塞不下,故放在這裡
$ perl -ane '$,="\t"; print $F[2], $F[4], "\n" if $. >= 3 && $. <= 7;'
重點是用 -a 後,perl 程式會將文字分欄,存在 @F 內
然後再用 $F[0] 等去取出自己要的部分
另外,用 $. 過濾所要的行數
然後,寫 one-liner,就不得不偷推一下 AWK
寫起來比 one-line Perl 更簡短
希望板主不要把我水桶 XD