※ 引述《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