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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] парсер для txt

Ответить
Настройки темы
CMD/BAT - [решено] парсер для txt

Новый участник


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

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


Всем привет.
Прошу вашей помощи. Помогите написать простой парсер.
имеются 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.

Спасибо, за помощь.

Отправлено: 13:06, 01-04-2012

 

Ветеран


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

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


retabo,
Код: Выделить весь код
findstr ";admin;login$" 1.txt && 1>1.txt echo 222.222.222.222;admin;login

Отправлено: 14:34, 01-04-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


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

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


Цитата Foreigner:
cho 222.222.222.222;admin;login »
Спасибо, за ответ.

Ну а если txt имеет разный список IP? И еще данный bat, представленный выше, оставляет IP с данными 222.222.222.222;admin;login, ну а как и эту строку разом удалить вместе с остальными при условии что - найден ип с ;admin;login - удалить все дубли ип но с другим login;password

Отправлено: 16:52, 01-04-2012 | #3


Ветеран


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

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


retabo,
Еще раз по пунктам. Что-то не въезжаю. И пример файла.
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:45, 01-04-2012 | #4


Новый участник


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

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


вот пример:

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

Как то так.

Последний раз редактировалось retabo, 01-04-2012 в 19:08.


Отправлено: 19:02, 01-04-2012 | #5


Ветеран


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

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


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

Отправлено: 19:21, 01-04-2012 | #6


Новый участник


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

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


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

Отправлено: 19:23, 01-04-2012 | #7


Ветеран


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

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


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

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:01, 01-04-2012 | #8


Новый участник


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

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


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

Отправлено: 20:39, 01-04-2012 | #9


Ветеран


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

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


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

Отправлено: 20:49, 01-04-2012 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] парсер для txt

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - вытащить из 3-x txt файлов строки в 4-й txt и отправить его в шару на сервер campbell Скриптовые языки администрирования Windows 1 10-11-2011 09:59
CMD/BAT - [решено] Парсер строк TXT файла Flayer Скриптовые языки администрирования Windows 9 15-10-2011 09:44
Парсер по документу WORD Frost_Imp AutoIt 5 03-08-2011 17:47
[решено] Парсер IP из текста morgan1991 AutoIt 5 24-01-2010 21:56
[решено] Вставить строчку из одного txt в оределённое место другого txt ZeroCrash AutoIt 7 13-07-2009 07:35




 
Переход