0
你好我已经写了一个perl脚本,它需要端口扫描,我已经保存在文本文件中,并将它们放到Microsoft Excel中。现在,我的老板就是了输出在Excel CSV格式如格式化Excel文件
Server, port, protocol, state, service, 69.25.194.2, 25, tcp, open, smtp
我想有所有IP在A列中,B列等端口。我想我可以使用匹配的正则表达式,但我是新来的perl,并有麻烦这样做你们可以帮助我。
这里是我的代码,这个输出的文本文件到Excel我可以修改这个格式,我想它的格式的Excel文件。
$input = `Cat /cygdrive/c/Windows/System32/test11.txt | grep -v 'SYN Stealth'`;
chomp input;
$output =" /cygdrive/c/Users/bpaul/Desktop/194.csv ";
if (! -e "$output")
{
`touch $output`;
}
open (OUTPUTFILE, ">$output") || die "Can't Open file $output";
print OUTPUTFILE "$input\n";
close (OUTPUTFILE);
这里是我的一块文件
Nmap scan report for 69.25.194.2 Host is up (0.072s latency). Not shown: 9992 filtered ports PORT STATE SERVICE 25/tcp open smtp 80/tcp open http 82/tcp open xfer 443/tcp open https 4443/tcp closed pharos 5666/tcp closed nrpe 8080/tcp closed http-proxy 9443/tcp closed tungsten-https
您在这里使用反引号很奇怪;一方面,在打开一个不存在的文件进行覆盖之前,完全没有必要“触摸”一个不存在的文件;它会自动创建。而'grep'不需要任何东西传递给它;它知道如何从文件中读取数据(而且你几乎可以肯定会从perl本身进行grepping)。 – geoffspear 2011-03-31 15:25:23