View previous topic :: View next topic |
Author |
Message |
astrolit
Joined: 26 Jul 2012 Posts: 42
|
(Separately) Posted: Fri Jul 27, 2012 17:30 Post subject: Как сохранить нужную строку - ссылку |
|
|
есть файл htm, в нём интересует только пару строк
остольное не нужно.
можно ли по маске указать как выглядит ссылка, чтоб только такого рода
строки сохранились, пример ссылок
Code: |
../../../../../icache/photos/66/2391/7899/126258_740x550.jpg
../../../../../icache/photos/100/3000/7517/826333_740x550.jpg
|
файлов около 5000 - ручками очн. тяжело |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Fri Jul 27, 2012 18:15 Post subject: |
|
|
1) скачать и распаковать ssed http://sed.sourceforge.net/grabbag/ssed/
2) в ком.строке выполнить Code: | type *.htm |ssed -R -n s/.*((\.\.\/){5}icache\/photos\/[\d\/]+_740x550\.jpg).*/\1/p >imgs.lst |
|
|
Back to top |
|
 |
astrolit
Joined: 26 Jul 2012 Posts: 42
|
(Separately) Posted: Fri Jul 27, 2012 18:24 Post subject: |
|
|
скачал, распаковал ssed.exe на рабочем столе, далее не понятно во первых cmd выскакивает, и сразу исчезает. да имне нужно под тотал команд, так как файлы у меня лежат в подпапках и открываю список с ними через ctrl +B |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Fri Jul 27, 2012 18:43 Post subject: |
|
|
Code: | @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%
*список будет дополняться |
|
Back to top |
|
 |
astrolit
Joined: 26 Jul 2012 Posts: 42
|
(Separately) Posted: Fri Jul 27, 2012 18:49 Post subject: |
|
|
ок спасиБо!!! заработало |
|
Back to top |
|
 |
astrolit
Joined: 26 Jul 2012 Posts: 42
|
(Separately) Posted: Sat Jul 28, 2012 14:30 Post subject: |
|
|
уж очень медленно - за 9 часов только 20 000 ссылок из 89 000 |
|
Back to top |
|
 |
astrolit
Joined: 26 Jul 2012 Posts: 42
|
(Separately) Posted: Sat Jul 28, 2012 20:21 Post subject: |
|
|
а как оформить запись вашей строки с регулярным вырожением
если после слова photos/ мне, скажем, не надо перебирать все возможные комбинации трехзначного числа а лишь 4, скажем 100,75, 16, 112, ну
к примеру
Code: |
../../../../../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 подходит
|
|
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Sat Jul 28, 2012 21:20 Post subject: |
|
|
Code: | >>imgs.lst ssed.exe -R -n "s/.*((\.\.\/){5}icache\/photos\/(75|1(6|00|12))\/[\d\/]+_740x550\.jpg).*/\1/p" "%%f" |
|
|
Back to top |
|
 |
astrolit
Joined: 26 Jul 2012 Posts: 42
|
(Separately) Posted: Sat Jul 28, 2012 21:49 Post subject: |
|
|
а можно по подробнее о конструкции /(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" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Jul 28, 2012 22:54 Post subject: |
|
|
astrolit
А что тут подробней? Варианты описываются в справке TC по регулярным выражениям и не только. Здесь берётся двойная вариация (75 и то, что после единицы). 1(6|00|12) = (16|100|112)
Прямой слеш тут определяется по Esc-последовательности. |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Sat Jul 28, 2012 23:00 Post subject: |
|
|
просто (12|71|83|100)
кратко регулярные выражения описаны в справке TotalCommander
Quote: | Добавлено спустя 55 минут: | это была исправленная строка для батника
Last edited by Tol!k on Sat Jul 28, 2012 23:03; edited 1 time in total |
|
Back to top |
|
 |
astrolit
Joined: 26 Jul 2012 Posts: 42
|
(Separately) Posted: Sat Jul 28, 2012 23:03 Post subject: |
|
|
да с этим я разобрался, но очевидно же написал ошика!!!
"1" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
точно также выдал ошику когда я записал
Code: |
type *.htm |ssed -R -n s/.*(hotel_photos\/(12|71|83|100))\/[\d\/]+_740x5
50\.jpg).*/\1/p >imgs.lst |
"71" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Добавлено спустя 4 минуты:
Code: |
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> |
Last edited by astrolit on Sat Jul 28, 2012 23:22; edited 1 time in total |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Sat Jul 28, 2012 23:10 Post subject: |
|
|
лишняя скобка "))" |
|
Back to top |
|
 |
astrolit
Joined: 26 Jul 2012 Posts: 42
|
(Separately) Posted: Sat Jul 28, 2012 23:11 Post subject: |
|
|
батник у меня не вкакую не работает - кнопка есть, cmd батник ваш висит параметры прописаны ssed.exe лежит с вскрытыми файлами, просто мигает курсор,
оъединив 20 000 страниц в одну обращаюсь к ней через первый предложенный вами вариант
Добавлено спустя 54 секунды:
как лишняя левых же две 8( |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Sat Jul 28, 2012 23:12 Post subject: |
|
|
пользуйтесь тегом [code][/code] |
|
Back to top |
|
 |
|