Показать полную графическую версию : [решено] парсер для txt
Всем привет.
Прошу вашей помощи. Помогите написать простой парсер.
имеются ip такого типа
222.222.222.222;admin;login
222.222.222.222;terato;feare
222.222.222.222;detaro;berati
222.222.222.222;fefgr;gtjhuyiu
-
IP в тексnе одни и теже попадаются только с разными данными для входа
-----------------------------------------
Допустим если в тексте попадаются ip с данными ;admin;login, то все остальные данные вместе с дубликатами ip удаляются в том числе и ip с данными ;admin;login.
Спасибо, за помощь.
Foreigner
01-04-2012, 14:34
retabo,
findstr ";admin;login$" 1.txt && 1>1.txt echo 222.222.222.222;admin;login
cho 222.222.222.222;admin;login »
Спасибо, за ответ.
Ну а если txt имеет разный список IP? И еще данный bat, представленный выше, оставляет IP с данными 222.222.222.222;admin;login, ну а как и эту строку разом удалить вместе с остальными при условии что - найден ип с ;admin;login - удалить все дубли ип но с другим login;password
Foreigner
01-04-2012, 18:45
retabo,
Еще раз по пунктам. Что-то не въезжаю. И пример файла.
вот пример:
212.35.91.23;admin;root
212.35.77.161;sucker_fucker;sucker_fucker
212.35.77.161;admin;root
212.35.77.161;admin;admin
212.35.77.77;sucker_fucker;sucker_fucker
-----------------
;sucker_fucker;sucker_fucker - этот логин и пасс выступает в качестве проверочного, если он присутствует для одного IP, то другие варианты входа для этого же IP в тексте НЕ рабочие (в том числе ;sucker_fucker;sucker_fucker) , и следовательно удаляется все IP вместе с дынными для входа!
Пример. Имеется IP c доступом:
212.35.77.161;sucker_fucker;sucker_fucker
Но также имееются для этого ип другие варианты в тексте:
212.35.77.161;admin;root
212.35.77.161;admin;admin
Так как мы видем в тексте проверочный логин и пасс ;sucker_fucker;sucker_fucker, то другие варианты (212.35.77.161;admin;root, 212.35.77.161;admin;admin) удаляются, вместе с 212.35.77.161;sucker_fucker;sucker_fucker, из списка, так как известно что доступа нет.
Как то так.
Еще раз по пунктам. Что-то не въезжаю. И пример файла. »
Не только Вы ;).
Я вроде уже рассписал поподробней....
Foreigner
01-04-2012, 20:01
Т.е. надо удалить все вхождения проверочного логина, плюс удалить все вхождения ip:
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1-3 delims=;" %%i in (1.txt) do call:setfalseip %%i "%%j;%%k"
for /f "tokens=1-3 delims=;" %%i in (1.txt) do call:check %%i "%%j;%%k"
goto:eof
:setfalseip
if "%~2"=="sucker_fucker;sucker_fucker" (
set /a cnt+=1
set "falseip_!cnt!=%1"
)
:: move 1.tmp 1.txt
goto:eof
:check
for /l %%i in (1,1,%cnt%) do if "!falseip_%%i!"=="%1" goto:eof
1>>1.tmp echo %1;%~2
как-то так
Foreigner,
Пробовал этот батник, почему то у меня никакого результат нет....просто черный экран в кмандной строке, и результат не отображается(
Foreigner
01-04-2012, 20:49
retabo,
Проверил, все работает. Какая версия Windows?
и результат не отображается(
должен создаваться файл 1.tmp. Если надо перезаписать исходный файл 1.txt, то убери "::" в строке ":: move 1.tmp 1.txt"
Foreigner,
Да, не углядел что в .tmp сохраняется. Спасибо.
Но это конечно немного не то.
Если в текстовом файле есть к примеру:
145.125.22.22;admin;admin
145.125.22.22;admin;root
145.125.22.22;root;root
145.125.22.22;root;admin
145.125.22.22;sucker_fucker;sucker_fucker
то он удаляет только 145.125.22.22;sucker_fucker;sucker_fucker.
А необходимо при наличии IP;sucker_fucker;sucker_fucker удалять весь столбец с таким же IP (не зависимо какие там логины и пароля). Зачем они нужны, если заранее известно что они не работают при наличии попавшего sucker_fucker;sucker_fucker
Foreigner
01-04-2012, 21:17
то он удаляет только 145.125.22.22;sucker_fucker;sucker_fucker »
А если посмотреть внимательней? Он удаляет все сакеры_факеры и все другие с найденным у факеров IP.
Foreigner,
Все разобрался, спасибоForeigner за помощь.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.