Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Как сохранить нужную строку - ссылку
Goto page 1, 2, 3  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
astrolit



Joined: 26 Jul 2012
Posts: 42

Post (Separately) Posted: Fri Jul 27, 2012 17:30    Post subject: Как сохранить нужную строку - ссылку Reply with quote

есть файл htm, в нём интересует только пару строк
остольное не нужно.
можно ли по маске указать как выглядит ссылка, чтоб только такого рода
строки сохранились, пример ссылок
Code:

../../../../../icache/photos/66/2391/7899/126258_740x550.jpg
../../../../../icache/photos/100/3000/7517/826333_740x550.jpg

файлов около 5000 - ручками очн. тяжело
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Fri Jul 27, 2012 18:15    Post subject: Reply with quote

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
View user's profile Send private message
astrolit



Joined: 26 Jul 2012
Posts: 42

Post (Separately) Posted: Fri Jul 27, 2012 18:24    Post subject: Reply with quote

скачал, распаковал ssed.exe на рабочем столе, далее не понятно во первых cmd выскакивает, и сразу исчезает. да имне нужно под тотал команд, так как файлы у меня лежат в подпапках и открываю список с ними через ctrl +B
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Fri Jul 27, 2012 18:43    Post subject: Reply with quote

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
View user's profile Send private message
astrolit



Joined: 26 Jul 2012
Posts: 42

Post (Separately) Posted: Fri Jul 27, 2012 18:49    Post subject: Reply with quote

ок спасиБо!!! заработало
Back to top
View user's profile Send private message
astrolit



Joined: 26 Jul 2012
Posts: 42

Post (Separately) Posted: Sat Jul 28, 2012 14:30    Post subject: Reply with quote

уж очень медленно - за 9 часов только 20 000 ссылок из 89 000
Back to top
View user's profile Send private message
astrolit



Joined: 26 Jul 2012
Posts: 42

Post (Separately) Posted: Sat Jul 28, 2012 20:21    Post subject: Reply with quote

а как оформить запись вашей строки с регулярным вырожением
если после слова 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
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Sat Jul 28, 2012 21:20    Post subject: Reply with quote

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
View user's profile Send private message
astrolit



Joined: 26 Jul 2012
Posts: 42

Post (Separately) Posted: Sat Jul 28, 2012 21:49    Post subject: Reply with quote

а можно по подробнее о конструкции /(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
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat Jul 28, 2012 22:54    Post subject: Reply with quote

astrolit
А что тут подробней? Варианты описываются в справке TC по регулярным выражениям и не только. Здесь берётся двойная вариация (75 и то, что после единицы). 1(6|00|12) = (16|100|112)
Прямой слеш тут определяется по Esc-последовательности.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Sat Jul 28, 2012 23:00    Post subject: Reply with quote

просто (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
View user's profile Send private message
astrolit



Joined: 26 Jul 2012
Posts: 42

Post (Separately) Posted: Sat Jul 28, 2012 23:03    Post subject: Reply with quote

да с этим я разобрался, но очевидно же написал ошика!!!
"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
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Sat Jul 28, 2012 23:10    Post subject: Reply with quote

лишняя скобка "))"
Back to top
View user's profile Send private message
astrolit



Joined: 26 Jul 2012
Posts: 42

Post (Separately) Posted: Sat Jul 28, 2012 23:11    Post subject: Reply with quote

батник у меня не вкакую не работает - кнопка есть, cmd батник ваш висит параметры прописаны ssed.exe лежит с вскрытыми файлами, просто мигает курсор,
оъединив 20 000 страниц в одну обращаюсь к ней через первый предложенный вами вариант

Добавлено спустя 54 секунды:

как лишняя левых же две 8(
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Sat Jul 28, 2012 23:12    Post subject: Reply with quote

пользуйтесь тегом [code][/code]
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group