Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] парсер для txt (http://forum.oszone.net/showthread.php?t=231819)

retabo 01-04-2012 13:06 1891240

парсер для 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 1891287

retabo,
Код:

findstr ";admin;login$" 1.txt && 1>1.txt echo 222.222.222.222;admin;login

retabo 01-04-2012 16:52 1891362

Цитата:

Цитата Foreigner
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 1891425

retabo,
Еще раз по пунктам. Что-то не въезжаю. И пример файла.

retabo 01-04-2012 19:02 1891428

вот пример:

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, из списка, так как известно что доступа нет.

Как то так.

Iska 01-04-2012 19:21 1891437

Цитата:

Цитата Foreigner
Еще раз по пунктам. Что-то не въезжаю. И пример файла. »

Не только Вы ;).

retabo 01-04-2012 19:23 1891439

Я вроде уже рассписал поподробней....

Foreigner 01-04-2012 20:01 1891458

Т.е. надо удалить все вхождения проверочного логина, плюс удалить все вхождения 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

как-то так

retabo 01-04-2012 20:39 1891471

Foreigner,
Пробовал этот батник, почему то у меня никакого результат нет....просто черный экран в кмандной строке, и результат не отображается(

Foreigner 01-04-2012 20:49 1891476

retabo,
Проверил, все работает. Какая версия Windows?
Цитата:

и результат не отображается(
должен создаваться файл 1.tmp. Если надо перезаписать исходный файл 1.txt, то убери "::" в строке ":: move 1.tmp 1.txt"

retabo 01-04-2012 20:59 1891485

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 1891503

Цитата:

Цитата retabo
то он удаляет только 145.125.22.22;sucker_fucker;sucker_fucker »

А если посмотреть внимательней? Он удаляет все сакеры_факеры и все другие с найденным у факеров IP.

retabo 01-04-2012 21:27 1891509

Foreigner,

Все разобрался, спасибоForeigner за помощь.


Время: 18:27.

Время: 18:27.
© OSzone.net 2001-