HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > РАЗРАБОТКА > Для Администратора > Linux, Freebsd, *nix
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 14.02.2011, 22:42
Neow15ard
Постоянный
Регистрация: 27.11.2008
Сообщений: 418
С нами: 9186797

Репутация: 0
По умолчанию

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

HTML:


Код:
parent 500 http IP PORT
parent 500 http IP PORT
произвести замену существующих ip и портов на новые.

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

Не допираю как составить.
 
Ответить с цитированием

  #2  
Старый 15.02.2011, 01:32
modelsonline
Познающий
Регистрация: 18.10.2010
Сообщений: 94
С нами: 8192122

Репутация: 0
По умолчанию

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

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

sed не нужен. Такое лучше делать в базе.
 
Ответить с цитированием

  #3  
Старый 15.02.2011, 10:35
Neow15ard
Постоянный
Регистрация: 27.11.2008
Сообщений: 418
С нами: 9186797

Репутация: 0
По умолчанию

Цитата:

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 что бы замену произвести.
 
Ответить с цитированием

  #4  
Старый 15.02.2011, 23:22
modelsonline
Познающий
Регистрация: 18.10.2010
Сообщений: 94
С нами: 8192122

Репутация: 0
По умолчанию

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

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





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.