Показать полную графическую версию : [решено] Выделить подстроку (URL) из файла
Добрый день,
помогите решить проблему)))
Есть некий текстовый файл (см. атач) из которого необх. выделить URL, соответствующий "KAT-RU",
т.е. на выходе надо получить "чистый" URL (без кавычек и запятой в конце)
http://devbuilds.kaspersky-labs.com/.../setup_11.0.0.1245.x01_2011_07_25_07_22.exe
Заранее спасибо!
Anonymоus
25-07-2011, 17:51
@Echo Off
Set File=index.txt
:: Получаем номер строки с нужной локализацией
For /F "tokens=1 delims=:" %%A In ('Findstr /N "KAT-RU" "%File%"') Do (Set /A Line=%%A-1)
:: Получение содержимого строки, замена двойных кавычек, вычленение url
For /F "skip=%Line% tokens=*" %%A In (%File%) Do (Set Url=%%A&GoTo Break)
:Break
Set Url=%Url:"=+%
For /F "tokens=1,2,3 delims=+" %%A In ("%Url%") Do (Set Url=%%C)
Echo %Url%
Pause>nul
Спасибо, за помощь!
А как быть, если исходный файл предствален в виде HTML страницы с тегами (<>)?
При попытке воспользоваться приведенным советом, выдает ошибку (Ошибка в синтаксисе команды) из-за этих тегов.
Т.е. Как "распарсить" вот такую строку, выделив из нее имя файла?
26 Jul 2011 05:33:47 99681144 <a href="setup_11.0.0.1245.x01_2011_07_26_09_23.exe">setup_11.0.0.1245.x01_2011_07_26_09_23.exe</a>
Anonymоus
26-07-2011, 15:53
Вот этот скрипт распарсит html-файл и выделит всё, что находится внутри a href="ссылка", производится проверка на расширение файла по ссылке. К сожалению, обойтись без использования одного временного файла не получилось. В данном примере ссылки выводятся Echo, вы уже сами перенаправьте их, куда нужно.
@Echo Off
Set File=index.txt
SetLocal EnableDelayedExpansion
For /F "tokens=*" %%A In ('sed "s/.*href=.//" %File%') Do (Echo %%A>>tmp)
For /F "tokens=*" %%A In ('sed "s/.>.*$//" tmp') Do (
Set String=%%A
If /I "!String:~-4!"==".exe" Echo %%A
)
Del tmp
Pause>nul
Для работы скрипта нужен sed, входящий в пакет утилит GnuWin32 core utils. Скачать его можно здесь (http://rghost.ru/15831821) (сам sed и нужные dll) или здесь (http://gnuwin32.sourceforge.net/packages/sed.htm) (официальная страница на sourceforge)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.