Форматирование файла Excel - PullRequest
0 голосов
/ 31 марта 2011

Здравствуйте. Я написал Perl-скрипт, который сканирует порты, которые я сохранил в текстовом файле, и отправляет их в Microsoft Excel. Теперь мой босс хочет, чтобы он выводил в формате Excel в формате CSV, например

 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

1 Ответ

2 голосов
/ 31 марта 2011

NMap имеет формат вывода с поддержкой grep, который выводит каждый хост в одну строку и предоставляет список открытых портов, разделенных запятыми и косой чертой. Используйте nmap -oG в командной строке или проверьте справочную страницу NMap для других типов вывода. Эта страница выглядит довольно хорошей иллюстрацией манипулирования выводом, как только вы его получите.

...