PDA

Показать полную графическую версию : [решено] Скрипт на фильтрацию инфы из файла


rip88
13-02-2014, 13:32
Всем доброго дня.
Имеется файлик 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
Что-то типа

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

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

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




© OSzone.net 2001-2012