|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
本帖最后由 oscillator_cn1 于 2013-11-25 14:06 编辑
各位: 正在学习使用perl写脚本,在过程中,遇到一个查找关键字的问题,嗯,具体情况如下:
我需要写个脚本将某个文件(log文件)中带有一些关键字(比如error、waring,fatal等)的行找出来。但是所有的关键字并不是固定的,而是从外部输入的(因为要提高灵活性嘛)。比如有时只需要找带“error”的行,有时候需要找带“error”和“debug_ER”的行。因此,我们是打算将这些外部输入的关键字都存放到数组@keywords中,然后逐一比对。
麻烦是:如果关键字是固定的,我可以直接“
- if ($line =~ /Error|warning|fatal/) {...}
复制代码 " 就行了,如果不固定,就成了:
- repeat($#keywords){
- if($line =~ /$keywords[$i]/) {
- . . .
- }
- $i++;
- }
复制代码
这样的话,我觉得效率比较低,能有什么办法简单高效实现查找不定个关键词的功能么? |
|