> Вот такое у меня получилось:
> ...Супер. Единственное, не люблю в скриптах палки (pipe). Т.е. я их обожаю когда надо быстро слепить однострочник, но не в скриптах. Потому что на мой взгляд это портит читабельность.
Можно было бы сделать предпарсинг, который удалял комментарии и все остальное, что нужно удалить.
Это, конечно, болтовня на самом деле. Если скрипт достаточно читабелен, а тут не 250 палок вряд, если он достаточно хорошо реализует функциональные требования и т.д. То оверинженеринг на фиг никому не нужен.
И совсем последнее. Видел несколько систем мониторинга самописных, которые производили приятное впечатление. Видел также и настолько ужасные самописные СМ, которыми никого не удалось заставить пользоваться и их просто списывали в утиль. Т.е. я не против систем мониторинга как класса. Но если например нужен функционал разбора csv файла, чтобы отдать его биллингу, то не обязательно ставить HP IUM. Можно найти маленькую программу или написать самому. И это решение будет выигрывать по всем параметрам. Если у тебя сотни коммутаторов от десятков вендоров, каждый из которых гадит в своем формате, то тогда можно задуматься над готовой платформой, пускай даже такой неудобной как IUM. Не обязательно внедрять, но задуматься, взвесить "за" и "против" - можно.
COMMENT="^#"
main(){
while IFS=';' read a b
do
if [[ $(preparse $a) == true ]]
then
echo $a
echo $b
else
:
fi
done < <(cat $SERVER_LIST)
}
preparse(){
if [[ ! ($1 =~ $COMMENT) ]]
then
echo true
fi
}
main
Данные:
## Esli log-fajl ne najden; sozdaem ego, inache, esli est' zapisi starshe 1 dnja
4;5
#fkd kfn dlk n dkfnd
iah;jf#
Вывод:
4
5
iah
jf#