perl中能使用awk么?

perl中能使用awk么?

我在程序里添加"grep -v "2007" iostat20070302 |awk '{print $10}' “, 但perl好像不支持awk,并不去执行awk '{print $10}'
请问大家这是怎么回事呢?
用的着呢?


QUOTE:
原帖由 morebetter5 于 2007-3-3 10:04 发表
我在程序里添加"grep -v "2007" iostat20070302 |awk '{print $10}' “, 但perl好像不支持awk,并不去执行awk '{print $10}'
请问大家这是怎么回事呢?

Perl里没必要去用awk,grep之类的shell call吧.它有内置的函数可实现这些功能.

QUOTE:
grep -v "2007" iostat20070302 |awk '{print $10}'

可写成:

[Copy to clipboard] [ - ]
CODE:
open FILE,"iostat20070302" or die $!;
print map { (split)[9] . "\n" } grep { !/2007/ } <FILE>;
close FILE;

十分感谢!
我是个新手,还不知道能这么写!
这次记住了。多谢!
不过你的代码中(split)[9] , 是怎么回事呢? 他是按照什么格式split的呢?



QUOTE:
原帖由 morebetter5 于 2007-3-3 13:09 发表
十分感谢!
我是个新手,还不知道能这么写!
这次记住了。多谢!
不过你的代码中(split)[9] , 是怎么回事呢? 他是按照什么格式split的呢?

等同于(split/\s+/,$_)[9].
split返回一个列表,这里取列表的第9个下标.
学习了...
从来就没有"Perl不支持awk"这种说法.

在Perl中使用复杂shell命令, 很多人问过这问题了.
记住: 有一个东西叫"转义"