Страница 1 из 1

sed. чё-то подтупливаю.

Добавлено: 2007-10-20 0:32:35
Alex Keda
написал скрипт:

Код: Выделить всё

#!/bin/sh

# скрипт по замене IP адресов

# задаём наборы для замены
set1="81.176.224.6/77.221.137.170"
set2="81.176.224.68/77.221.137.171"
set3="81.176.224.69/77.221.137.172"
set4="81.176.225.68/77.221.137.173"
set5="81.176.225.128/77.221.137.174"
set6="81.176.225.69/77.221.129.82"
set7="81.176.225.124/77.221.129.83"
set8="81.176.225.125/77.221.129.84"
set9="81.176.225.126/77.221.129.85"
set10="81.176.225.127/77.221.129.86"
set11="81.176.225.129/77.221.137.174"
set12="81.176.225.130/77.221.137.174"
set13="81.176.225.131/77.221.137.174"


# ищем все файлы в текущей директории и глубже,
/usr/bin/find . -type f -print |
{
        while read file_name
        do
        # заменяем в файле IP адреса
        for replace_string in $set1 $set2 $set3 \
                $set4 $set5 $set6 $set7 $set8   \
                $set9 $set10 $set11 $set12 $set13
                do
                # поехали по файлу
                /usr/bin/sed -i -e s/${replace_string}/g ${file_name}
                done
        done
}
всё хорошо, вот тока

Код: Выделить всё

set1="81.176.224.6/77.221.137.170"
set2="81.176.224.68/77.221.137.171"
первый набор совпадёт и с частью второго.
а значит заменит и на выходе будет непойми что....
как бы указать, что после - не цифра?
чё-то типа

Код: Выделить всё

81.176.224.6(!\d)
чтоли...
даже мысль сформулировать не могу :(((

Re: sed. чё-то подтупливаю.

Добавлено: 2007-10-20 0:34:08
Alex Keda
бля... от я тупой.
надо первый последним поставить.

Код: Выделить всё

        for replace_string in  $set2 $set3 \
                $set4 $set5 $set6 $set7 $set8   \
                $set9 $set10 $set11 $set12 $set13 $set1
должно прокатить.

Re: sed. чё-то подтупливаю.

Добавлено: 2007-10-20 0:34:37
Alex Keda
пойду посплю чтоли.
а то щас запущу на свою голову :)