воскресенье, 8 июля 2012 г.

sed и cut за работой

Чтоб не забыть или потерять.
Задача: есть файл с настройками DNS-зон, из него надо выдергивать названия этих зон и по ним создавать конфиг для nginx-а из шаблона.
Готовый результат:


#!/bin/bash

for i in $(grep 'zone' /etc/named/conf.local | sed -e 's/zone "//g' | sed -e 's/" {//g')
do
  echo $i
  if ! [ -e /etc/nginx/sites-available/$i ]; then
    /bin/bash -c "/bin/sed -e 's/CHANGEME/"$i"/g' 
     /etc/nginx/sites-available/template > /etc/nginx/sites-available/"$i
    /bin/ln -s /etc/nginx/sites-available/$i /etc/nginx/sites-enabled/$i
  fi
done;
/etc/init.d/nginx restart
 

Самый большой интерес представляет первая строчка, которая в for. Вот ее же вариант, только с использованием cut. Спасибо за помощь Грузину!

grep 'zone' conf.local | cut -d " " -f 2 | cut -d "\"" -f 2
 

Еще надо на awk сделать для коллекции.

Комментариев нет:

Отправить комментарий