ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Linux, Freebsd, *nix (https://forum.antichat.xyz/forumdisplay.php?f=124)
-   -   Sed \ awk help нужна. (https://forum.antichat.xyz/showthread.php?t=1856089)

Neow15ard 14.02.2011 22:42

Помогите с шелл скриптом.
Задача взять из текстового файла ip : port (забиты построчно, несколько строк) 2 случайных ИП с портом и в другом файле в строках

HTML:


Код:

parent 500 http IP PORT
parent 500 http IP PORT

произвести замену существующих ip и портов на новые.

- Делаю random прокси(что б каждый час менялся). как на proxy.void.ru .

Не допираю как составить.

modelsonline 15.02.2011 01:32

Замену строки в файле сделать нельзя никак, только через другой файл и кажется нельзя в одном пайпе.

ip=$(cat $file |cut -d":" -t1)
port=$(cat $file |cut -d":" -t2)

sed не нужен. Такое лучше делать в базе.

Neow15ard 15.02.2011 10:35

Цитата:


modelsonline написал(а):

Замену строки в файле сделать нельзя никак, только через другой файл и кажется нельзя в одном пайпе.

ip=$(cat $file |cut -d":" -t1)
port=$(cat $file |cut -d":" -t2)

sed не нужен. Такое лучше делать в базе.


Вообщето по всем параметрам идеально подходит именно sed
но так как надо выдрать данные из одного файла и вставить в другой то тут вероятно и awk
И это решение



HTML:


Код:

sed -i 's/pppp/ttttt/' file
подходит но нужна регулярка вместо pppp для замены (ssed) на ttttt и как это описать в awk что бы замену произвести.

modelsonline 15.02.2011 23:22

Еще раз, "вставить в другой" нельзя, нужно через временный файл делать.

1. взять соксы как я сказал (только в цикле сделать, с рандомом или как там сообразиш)
можно файл в массив кинуть например так
socks=(`cat $socks`)
и работать с ним, либо рандомно строку из файла прочитать
2. сделать пайп:
чтение из файла где нужно заменить | если (проверка строки на совпадение с ip с помощью grep) { тут твой sed } иначе {echo строка} >временный файл
3. mv временный файл куда надо


Время: 15:53