1
我想搜索一個關鍵字在perl中的大文件,然後輸出關鍵字出現在所有行,每個到一個新的線。我如何搜索一個文件,然後輸出一行與關鍵字搜索到一個新的文件
我想搜索一個關鍵字在perl中的大文件,然後輸出關鍵字出現在所有行,每個到一個新的線。我如何搜索一個文件,然後輸出一行與關鍵字搜索到一個新的文件
以下將打印所有包含keyword
至outputFile.txt
的行。輸入文件是作爲參數傳遞給腳本。
findkeyword.pl
#!/usr/bin/perl
use strict;
use warnings;
open OUTPUT, ">outputFile.txt";
while (my $line = <>) {
if($line =~ m/keyword/){
print OUTPUT $line;
}
}
輸入:
./findkeyword.pl inputfile1 inputfile2 ...
編輯:正如@Kenosis說,在評論,
使用詞法作用域$ fh作爲像open(my $fh, ">", "outputFile.txt")
這樣的文件句柄可能會更好。 參考:open()
如果你是在一個變量存儲的關鍵字,你可能想先請quotemeta
它,或將其包含在\Q...\E
。
好吧,我已經運行腳本,但我無法打開我的輸入文件? – user1597452
@ user1597452您是否將參數列表正確地提供給腳本?任何錯誤? –
非常感謝,效果很棒!對不起,我是一個扳手 – user1597452