Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Старожил


Сообщения: 415
Благодарности: 257

Профиль | Отправить PM | Цитировать


dj_crazy_joker, если вам не подходит метод Foreigner, попробуйте вот это. Но сразу предупрежу, скорость работы низкая, к примеру, лог с ~100 тысяч строк оно почти 8 минут обрабатывало, зато без сторонних утилит и порядок следования в логе не нарушается.

Код: Выделить весь код
@Echo Off
SetLocal EnableDelayedExpansion
Set Log=test.txt
:: Подсчитываем общее число строк для счетчика в заголовке окна
Set lines=0
For /F "usebackq" %%A In ("%Log%") Do (Set /A lines+=1)
:: Обрабатываем лог, выделяя IP и добавляя только не повторяющиеся
Set i=0
Set IPlist=
For /F "usebackq tokens=1" %%A In ("%Log%") Do (
	Echo !IPlist!|Find "%%A">nul||Set IPlist=!IPlist! %%A
	Set /A i+=1
	Title Progress: [!i!\%lines%]
)
:: Пишем IP в файл
For %%A In (%IPlist%) Do (Echo %%A>>%date%_IP_list.txt)

Отправлено: 02:17, 16-04-2012 | #7