Perl Awk分析文件
需要帮忙吗 这是我所拥有和想要做的 这是我的文件file.txtPerl Awk分析文件,perl,Perl,需要帮忙吗 这是我所拥有和想要做的 这是我的文件file.txt Sequences times Ip1 ip2 Protocol info 1 2 10.18.19.12 12.29.29.18 udp hsahdsdd 2 4 10.13.15.67 12.28.29.19 tcp blabla 3 7 10.12.27.28 12.17.281.19 udp hkkk
Sequences times Ip1 ip2 Protocol info
1 2 10.18.19.12 12.29.29.18 udp hsahdsdd
2 4 10.13.15.67 12.28.29.19 tcp blabla
3 7 10.12.27.28 12.17.281.19 udp hkkkljkl
我想(使用Awk)
- 计算我有多少行并打印该信息+在名为protocol.tx的输出文件中找到的所有协议名称
- 计算IP1的行数,并将所有Ip的列表添加到另一个名为Ip.txt的输出文件中
#!/usr/bin/perl
$fname = $ARGV[0];
open(FILE, $fname) || die ("cant read \n");
while($ligne=<FILE>)
{
chop ($ligne);
my ($No, $time, $Ip1, $Ip2, $Proto, $info) = split (/ /, $ligne_);
}
system("awk '{print \$6}' $fname");
system ("awk 'END {print NR}' $fname") >line.txt;
#/usr/bin/perl
$fname=$ARGV[0];
打开(文件,$fname)| |死(“无法读取”\n);
而($ligne=)
{
印章($ligne);
my($No、$time、$Ip1、$Ip2、$Proto、$info)=拆分(//,$ligne_2;);
}
系统(“awk'{print\$6}'$fname”);
系统(“awk'END{print NR}'$fname”)>line.txt;
这种形式的系统
需要一个shell命令,所以
use autodie qw( system );
use String::ShellQuote qw( shell_quote );
system(shell_quote('awk', 'END {print NR}', $fname) . ">line.txt");
但是在Perl中使用awk
来完成这项琐碎的工作是愚蠢的。这种形式的system
需要一个shell命令,所以
use autodie qw( system );
use String::ShellQuote qw( shell_quote );
system(shell_quote('awk', 'END {print NR}', $fname) . ">line.txt");
但是在Perl中使用awk
来完成这项琐碎的工作是愚蠢的。?为什么要使用awk
(在Perl程序中)来执行此操作?对于换行符,最好使用chomp
而不是chop
?为什么要使用awk
(在Perl程序中)来执行此操作?对于换行符,最好使用chomp
而不是chop
。