![]() |
Скрипт на фильтрацию инфы из файла
Всем доброго дня.
Имеется файлик 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, ну и так далее по каждому адресу. Просто. Но в будущем таких адресов может быть целая куча, и все будет намного печальнее. Может, можно даже как-нибудь это одной командой сделать, по маске, или что-то типа того? Буду признателен за любую помощь. Еще если можно, посоветуйте толковую литературу конкретно по написанию скриптов и регулярных выражений, потому что с этим туговато, а учиться только по форумам, бывает, что дольше. |
Что-то типа
#!/bin/bash for i in {193..206} do grep "192\.168\.0\."$i firewall.txt > $i.log done Если идея понятна, без проблем напишешь как надо. |
MakaBooka, более чем! Спасибо.
UPD: сначала не понимал, почему пишет permission denied, потом допер и сделал скрипт исполняемым. Еще раз спасибо за помощь, все получилось. |
Время: 13:56. |
Время: 13:56.
© OSzone.net 2001-