CMD/BAT - Нужен скрипт, выдерающий сотовый номера из txt.

Ответить
 • Просмотры: 1
Аватара пользователя
jellypop

CMD/BAT - Нужен скрипт, выдерающий сотовый номера из txt.

Сообщение jellypop »

Привет всем! Собственно, сабж! Нужен скрипт! Есть *.txt, в нём много сотовых номеров, стоят не попорядку, но между каждым есть пробел, а то и несколько. Все номера в виде : 79XXXXXXXXX. Задача: вытащить все эти номера в отдельный txt и чтобы они не повторялись.

Спасибо заранее за помощь!
Аватара пользователя
jellypop

Re: CMD/BAT - Нужен скрипт, выдерающий сотовый номера из txt.

Сообщение jellypop »

jellypop, пример файла txt?



Код:

Код: Выделить всё

@echo off
setlocal
for /f "tokens=*" %%i in (1.txt) do call:1 %%i
for /f "tokens=2 delims==" %%i in (' set 79 ') do 1>>2.txt echo %%i
goto:eof
:1
for %%i in (%*) do set "%%i=%%i"
Аватара пользователя
jellypop

Re: CMD/BAT - Нужен скрипт, выдерающий сотовый номера из txt.

Сообщение jellypop »

Всё отпарсилось, но вывод просто ужасный! Всё слиплось! Можно как-нибудь поправить, чтобы выводил каждый номер в новую строку?
Аватара пользователя
Guest

Re: CMD/BAT - Нужен скрипт, выдерающий сотовый номера из txt.

Сообщение Guest »

Первый скрипт не работает (не появляется 2.txt), второй - сейчас попробую.. Изображение

Пример файла:


Цитата:



Дата Время С номера На номер Регион Длит-ть Стоимость Тариф 02.02.2012 19:37:56 sip:sip@sip.sip 79********2 Московская область-Мобильный 00:00:00 0,00 00:01:00 2,00 2,00 22.04.2012 18:35:43 sip:sip@sip.sip 79********3 Московская область-Мобильный 00:00:00 0,00 00:01:00 2,00 2,00 22.04.2012 18:38:22 sip:sip@sip.sip 79********3 Московская область-Мобильный 00:00:00 0,00 00:00:00 0,00 2,00 22.04.2012 18:51:19 sip:sip@sip.sip 79********3 Московская область-Мобильный 00:00:00 0,00 00:01:00 2,00 2,00 29.04.2012 16:08:03 sip:sip@sip.sip 79********0 Московская область-Мобильный 00:00:00 0,00 00:01:00 2,00 2,00 05.05.2012 21:16:18 sip:sip@sip.sip 79********0 Московская область-Мобильный 00:00:00 0,00 2,00 05.05.2012 21:17:38 sip:sip@sip.sip 79********0 Московская область-Мобильный 00:00:00 0,00 00:02:00 4,00 2,00 05.05.2012 21:33:27 sip:sip@sip.sip 79********0 Московская область-Мобильный 00:00:00 0,00 00:02:00 4,00 2,00




Цитата Anonymоus:



Проследите, чтобы бинарник grep был добавлен в Path или находился рядом со скриптом.
CMD/BAT - Нужен скрипт, выдерающий сотовый номера из txt.




grep на чистую систему запрашивает кучу библиотек, уже 4 по порядку скачал, сколько можно...? Изображение

лучше уж на bat.



Upd: не заметил архив зависимостей. Сейчас повторю попытку.

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

Re: CMD/BAT - Нужен скрипт, выдерающий сотовый номера из txt.

Сообщение jellypop »

Цитата jellypop:



Первый скрипт не работает (не появляется 2.txt)
CMD/BAT - Нужен скрипт, выдерающий сотовый номера из txt.




Проверил на твоем примере. Все работает. Исходный файл называется 1.txt?
Аватара пользователя
Foreigner

Re: CMD/BAT - Нужен скрипт, выдерающий сотовый номера из txt.

Сообщение Foreigner »

jellypop, вот в этом архиве grep со всеми зависимостями и сам скрипт. Просто перетащите текстовый файл с номерами на него, и он создаст рядом файл output.txt, в котором будут только сами номера.

http://rghost.ru/38437215
Аватара пользователя
Guest

Re: CMD/BAT - Нужен скрипт, выдерающий сотовый номера из txt.

Сообщение Guest »

Цитата Foreigner:



Проверил на твоем примере. Все работает. Исходный файл называется 1.txt?
CMD/BAT - Нужен скрипт, выдерающий сотовый номера из txt.





Цитата:



Не удается найти файл 1.txt.

Переменная среды 79 не определена



Скрипт и текстовик лежит в одном каталоге, название точно 1.txt.




Цитата Anonymоus:



jellypop, вот в этом архиве grep со всеми зависимостями и сам скрипт. Просто перетащите текстовый файл с номерами на него, и он создаст рядом файл output.txt, в котором будут только сами номера.

http://rghost.ru/38437215
CMD/BAT - Нужен скрипт, выдерающий сотовый номера из txt.




Сейчас попробую.



Upd: что-то я какой-то точно деревянный. Положил текстовик с именем 1.txt в папку bin, запустил parse.cmd - и ничего.

Upd2: и батник заработал! чудеса прямо какие-то.

Upd3: КРИРО заработал ) аутпут.txt:

!PhoneNumbers!

79********0



Один какой-то номер только. )
Аватара пользователя
Guest

Re: CMD/BAT - Нужен скрипт, выдерающий сотовый номера из txt.

Сообщение Guest »

jellypop, да не нужно в bin ложить, внутри bin только бинарник и либы для грепа. Там есть скрипт, parse.cmd, вот на него нужно
перетянуть
файл. И всё, никаких лишних телодвижений. Рядом появится output.txt, там будут номера.




Цитата jellypop:



Upd3: КРИРО заработал ) аутпут.txt:

!PhoneNumbers!

79********0

Один какой-то номер только. )
CMD/BAT - Нужен скрипт, выдерающий сотовый номера из txt.




Чудеса прямо. Я у себя тестировал, все номера в файле определяет, такое впечатление, что у вас не работает EnableDelayedExpansion по какой-то причине. Какая кодировка файла с номерами? Попробуйте в cp1251 пересохранить.
Аватара пользователя
Guest

Re: CMD/BAT - Нужен скрипт, выдерающий сотовый номера из txt.

Сообщение Guest »

Цитата Anonymоus:



jellypop, да не нужно в bin ложить, внутри bin бинарники и либы грепа. Там есть скрипт, parse.cmd, вот на него нужно перетянуть файл. И всё, никаких лишних телодвижений. Рядом появится output.txt, там будут номера.
CMD/BAT - Нужен скрипт, выдерающий сотовый номера из txt.




Перетащил, сначала чёрная консоль, затем идёт перебор номеров, видимо, т.к. на экране они мелькают, НО ЗАТЕМ:


Цитата:



Слишком длинная командная строка.

Слишком длинная командная строка.

Слишком длинная командная строка.



И так минуты две. Консоль закрывается, output.txt нигде нет.

P.S. Если это важно, то у меня текстовик в 3 МБ.
Аватара пользователя
jellypop

Re: CMD/BAT - Нужен скрипт, выдерающий сотовый номера из txt.

Сообщение jellypop »

Цитата jellypop:



P.S. Если это важно, то у меня текстовик в 3 МБ.
CMD/BAT - Нужен скрипт, выдерающий сотовый номера из txt.




Очень важно. Там же ограничение на число символов в строке, а проверку на дубли я именно так делаю. Сейчас перепишу под использование внешней утилиты uniqline



UPD: Сделал, пробуйте -
http://rghost.ru/38437987
Ответить

Вернуться в «Скриптовые языки администрирования Windows»