|
发表于 2005-7-28 19:33:41
|
显示全部楼层
Post by myster
我想实现文本筛选,假设文件内容有1000行,其中关键字是abc。
想实现:将所有abc前4行后18行的内容摘出来导入另一个文件当中。
请精通脚本的朋友给予帮助,现在非常着急用,先谢谢啊
perl a.pl < your_data
- #! /usr/bin/perl
- @data = <STDIN>;
- for ($i = 0; $i <= $#data; ++$i) {
- if ( index($data[$i] , "abc") >= 0) {
- #print "FOUND: $data[$i]";
- for ($j = ($i -4 > 0 ? $i-4 : 0);
- $j <= ($i + 18 < $#data ? $i + 18 : $#data);
- ++$j) {
- #print $j, " ", $data[$j];
- print $data[$j];
- }
- #print "END\n";
- }
- }
复制代码 |
|