Построчная обработка программой файла в shell

20 Dec 2014 | Автор: anchous |

Возникла тут необходимость прочекать на хуиз порядка тыщи подсетей, которые я не так давно благополучно выкачал. Ну и по началу я что то затупил и начал чекать через онлайн тулзу NIC.RU, но где к 30IP уже сильно заскучал, т.к провайдеры довольно часто повторялись.

Тут я вспомнил о шелле, с которым на самом деле дружу не очень, т.к я не настоящий сварщик и дико не люблю ломать голову на предмет даже минимального программирования, т.ч к примеру ковыряния htaccess для меня наказание господне.

Но тут лень оказалась сильнее и пришлось придумать вариант для заворчивания листинга файла с IP адресами (файл ip.txt) в процессор утилиты whois. Причем так, чтобы утилита shell обрабатывала бы каждую отбельную строку файла.

Хуиз то как раз ставится на центос проще всего:
# yum whatprovides whois
# yum install whois-5.1.1-2.el7.x86_64

После этого, поковырявшись немного в манах, родил такую вот обработку листинга файла с передачей каждой отдельной строки файла на исполнение программы
# cat ip.txt | while read ip;
> do
> whois $ip
> done

но тут возник глобалный затык относительно того, что список пролетал мгновенно, а вот присобачить more у меня никак не получалось, т.ч пришлось накидать скриптик обработки строк
# cat check.sh
#!/bin/sh
for i in `cat ip.txt`
do
whois $i
done
который я благополучно и запустил с прерыванием на страницу
# sh check.sh | more
Результатом мозгового штурма оказался очень вкусный список штук из 60 провайдеров.

VN:F [1.9.21_1169]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.21_1169]
Rating: 0 (from 0 votes)

Теги:

Ваш отзыв