我有一个用以下列格式分隔的日志文件:
<date> <time> | <fruit> | <color> | <num_1> | <num_2> | <num_3>
例如:
2013-03-27 23:01:52 | apple | green | 55 | 120 | 29
2013-03-27 23:01:56 | plumb | purple | 28 | 1 | 394
2013-03-27 23:01:59 | apple | red | 553 | 21 | 7822
我想编写一个 perl 脚本(尽管 python 或 bash 也是可以接受的),greps
该脚本在<date>
and<time>
字段(第 1 列)和或<num_1>
,取决于您给脚本的输入。因此,在上述信息上运行会给你,并且:<num_2>
<num_3>
perl extract.pl 2
<date>
<time>
<num_2>
2013-03-27 23:01:52 | 120
2013-03-27 23:01:56 | 1
2013-03-27 23:01:59 | 21
我尝试了以下方法,但似乎不起作用:
#!/usr/bin/perl
use warnings;
use strict;
my $col = $1;
print `grep "myapplog.txt" "m/_(\d{4})(\d\d)(\d\d)/ | $col"`
在这里,我将col
var 设置为脚本的第一个 arg,然后尝试打印与第一列和需求<num_X>
列的日期时间匹配的 grep。有任何想法吗?提前致谢。