Просмотр полной версии : Sed \ awk help нужна.
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 временный файл куда надо
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot