Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование в *nix (http://forum.oszone.net/forumdisplay.php?f=35)
-   -   [решено] Скрипт на фильтрацию инфы из файла (http://forum.oszone.net/showthread.php?t=277664)

rip88 13-02-2014 13:32 2308408

Скрипт на фильтрацию инфы из файла
 
Всем доброго дня.
Имеется файлик firewall.txt на машине с Debian, из которого необходимо вытащить информацию в удобочитаемом виде. В файле записаны настройки файрволла с IP адресами. Диапазон адресов - 192.168.0.193-192.168.0.206. Необходимо выдрать всю инфу об этих адресах и разместить в файлах с именами 193-206.txt. Ну т.е. по правилам на адрес - соответствующее имя. К примеру - все правила, относящиеся к адресу 192.168.0.193 будут помещены в файл с именем 193.txt.
Вручную-то это сделать недолго - там просто cat firewall.txt | grep 192.168.0.193 > 193, ну и так далее по каждому адресу. Просто. Но в будущем таких адресов может быть целая куча, и все будет намного печальнее. Может, можно даже как-нибудь это одной командой сделать, по маске, или что-то типа того?
Буду признателен за любую помощь. Еще если можно, посоветуйте толковую литературу конкретно по написанию скриптов и регулярных выражений, потому что с этим туговато, а учиться только по форумам, бывает, что дольше.

MakaBooka 16-02-2014 23:09 2310167

Что-то типа

#!/bin/bash
for i in {193..206}
do
grep "192\.168\.0\."$i firewall.txt > $i.log
done

Если идея понятна, без проблем напишешь как надо.

rip88 17-02-2014 06:43 2310296

MakaBooka, более чем! Спасибо.
UPD: сначала не понимал, почему пишет permission denied, потом допер и сделал скрипт исполняемым. Еще раз спасибо за помощь, все получилось.


Время: 13:56.

Время: 13:56.
© OSzone.net 2001-