Страница 1 из 3
Как сохранить нужную строку - ссылку
Добавлено: Пт июл 27, 2012 17:30
astrolit
есть файл htm, в нём интересует только пару строк
остольное не нужно.
можно ли по маске указать как выглядит ссылка, чтоб только такого рода
строки сохранились, пример ссылок
Код: Выделить всё
../../../../../icache/photos/66/2391/7899/126258_740x550.jpg
../../../../../icache/photos/100/3000/7517/826333_740x550.jpg
файлов около 5000 - ручками очн. тяжело
Добавлено: Пт июл 27, 2012 18:15
Tol!k
1) скачать и распаковать ssed
http://sed.sourceforge.net/grabbag/ssed/
2) в ком.строке выполнить
Код: Выделить всё
type *.htm |ssed -R -n s/.*((\.\.\/){5}icache\/photos\/[\d\/]+_740x550\.jpg).*/\1/p >imgs.lst
Добавлено: Пт июл 27, 2012 18:24
astrolit
скачал, распаковал ssed.exe на рабочем столе, далее не понятно во первых cmd выскакивает, и сразу исчезает. да имне нужно под тотал команд, так как файлы у меня лежат в подпапках и открываю список с ними через ctrl +B
Добавлено: Пт июл 27, 2012 18:43
Tol!k
Код: Выделить всё
@echo off &setlocal enableextensions
:: Параметры: "%WL"
for /f "delims=" %%f in ('type "%~1"') do (
>>imgs.lst ssed.exe -R -n "s/.*((\.\.\/){5}icache\/photos\/[\d\/]+_740x550\.jpg).*/\1/p" "%%f"
)
сохрани как .CMD, повесь на кнопку, пропиши параметры
ssed распакуй в папку, прописанную в %Path%
*список будет дополняться
Добавлено: Пт июл 27, 2012 18:49
astrolit
ок спасиБо!!! заработало
Добавлено: Сб июл 28, 2012 14:30
astrolit
уж очень медленно - за 9 часов только 20 000 ссылок из 89 000
Добавлено: Сб июл 28, 2012 20:21
astrolit
а как оформить запись вашей строки с регулярным вырожением
если после слова photos/ мне, скажем, не надо перебирать все возможные комбинации трехзначного числа а лишь 4, скажем 100,75, 16, 112, ну
к примеру
Код: Выделить всё
../../../../../icache/photos/66/2391/7899/126258_740x550.jpg не подходит
../../../../../icache/photos/100/3000/7517/826333_740x550.jpg подходит
../../../../../icache/photos/75/3120/5617/123453_740x550.jpg подходит
../../../../../icache/photos/16/3444/4377/867443_740x550.jpg подходит
../../../../../icache/photos/112/6777/20155/176993_740x550.jpg подходит
Добавлено: Сб июл 28, 2012 21:20
Tol!k
Код: Выделить всё
>>imgs.lst ssed.exe -R -n "s/.*((\.\.\/){5}icache\/photos\/(75|1(6|00|12))\/[\d\/]+_740x550\.jpg).*/\1/p" "%%f"
Добавлено: Сб июл 28, 2012 22:44
astrolit
а можно по подробнее о конструкции /(75|1(6|00|12))\
дело в том, что цифры могут меняться к примеру сейчас я перебираю 12,71,83,100
Добавлено спустя 55 минут:
C:\silk>type *.htm |ssed -R -n s/.*(hotel_photos\/(75|1(6|00|12))\/[\d\/]+_740x5
50\.jpg).*/\1/p >imgs.lst
"1" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Добавлено: Сб июл 28, 2012 22:54
Flasher
astrolit
А что тут подробней? Варианты описываются в справке TC по регулярным выражениям и не только. Здесь берётся двойная вариация (75 и то, что после единицы). 1(6|00|12) = (16|100|112)
Прямой слеш тут определяется по Esc-последовательности.
Добавлено: Сб июл 28, 2012 23:00
Tol!k
просто (12|71|83|100)
кратко регулярные выражения описаны в справке TotalCommander
Добавлено спустя 55 минут:
это была исправленная строка для батника
Добавлено: Сб июл 28, 2012 23:06
astrolit
да с этим я разобрался, но очевидно же написал ошика!!!
"1" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
точно также выдал ошику когда я записал
Код: Выделить всё
type *.htm |ssed -R -n s/.*(hotel_photos\/(12|71|83|100))\/[\d\/]+_740x5
50\.jpg).*/\1/p >imgs.lst
"71" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Добавлено спустя 4 минуты:
Код: Выделить всё
Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.
C:\silk>type *.htm |ssed -R -n s/.*(hotel_photos\/(12|71|83|100))\/[\d\/]+_740x5
"71" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
C:\silk>
Добавлено: Сб июл 28, 2012 23:10
Tol!k
лишняя скобка "))"
Добавлено: Сб июл 28, 2012 23:12
astrolit
батник у меня не вкакую не работает - кнопка есть, cmd батник ваш висит параметры прописаны ssed.exe лежит с вскрытыми файлами, просто мигает курсор,
оъединив 20 000 страниц в одну обращаюсь к ней через первый предложенный вами вариант
Добавлено спустя 54 секунды:
как лишняя левых же две 8(
Добавлено: Сб июл 28, 2012 23:12
Tol!k
пользуйтесь тегом [code][/code]