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 

Поиск по списку

 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
Вахмурка



Joined: 27 Dec 2004
Posts: 2586
Location: Большая деревня Москва

Post (Separately) Posted: Fri Jun 27, 2008 19:47    Post subject: Поиск по списку Reply with quote

Мне тут понадобилось провести достаточно экзотический поиск. Упрощая задачу: найти файлы, имена которых содержат символы "ab1", потом то же - "cd3", потом "e87f", и т. д. Причем строки ab1, cd3, e87f занесены в текстовый файл. Иными словами - провести длинный ряд взаимно независимых поисков по списку из файла.
Задумал уж написать скрипт. Это хлопотно, но решаемо. Однако:
1) Среди кучи поисковых утилит есть ли такая, которая производит поиск по списку?
2) Если есть, то не будут ли любезны благородные доны кинуть в меня ссылкой?
3) Если нет, то не послать ли запрос Гислеру? Ведь сделал же он переименование по списку!
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
VadiMGP



Joined: 21 Mar 2007
Posts: 1625

Post (Separately) Posted: Fri Jun 27, 2008 21:20    Post subject: Reply with quote

Меня смутило выражение "ряд взаимно независимых поисков". Если я правильно понял задачу, то надо взять все строки из текстового файла (ab1, cd3, e87f и т.д) каждую заключить в звездочки и сцепить все это в одну строку, чтобы получилось
Code:
*ab1* *cd3* *e87f*
И эту строку использовать в тотале для поиска. В этом состоит задача?
Или нужно провести несколько разных поисков и иметь несколько результирующих списков файлов?
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2586
Location: Большая деревня Москва

Post (Separately) Posted: Sat Jun 28, 2008 00:22    Post subject: Reply with quote

Quote:
Или нужно провести несколько разных поисков и иметь несколько результирующих списков файлов?
В том-то и дело. И результаты тоже взаимно независимы. Разве что следовало добавить: "однотипных поисков".
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
VadiMGP



Joined: 21 Mar 2007
Posts: 1625

Post (Separately) Posted: Sat Jun 28, 2008 02:42    Post subject: Reply with quote

Нда, ну ты и задачи ставишь, барин. ©
Это значит у Гислера надо просить серию поисков, причем, либо результат каждого поиска должен идти в свой таб, либо должен быть специальный постпроцессинг для обработки возможных дубликатов. Нереально, на мой взгляд.

А вот со скриптом вроде все просто. Читаешь файл и для каждой строчки запускаешь grep c перенаправлением результатов в файл(ы). В чем проблема-то, ты, чай, опытный скриптограф. Smile
Или я чего-то недопонял?
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2586
Location: Большая деревня Москва

Post (Separately) Posted: Sat Jun 28, 2008 17:06    Post subject: Reply with quote

Да нет, все правильно, разве что "постпроцессинг для обработки возможных дубликатов" - пижонство.
Grep - функция хорошая, только я под Юниксом последний раз сидел... э-э-э... девять лет назад. Так что со скриптом придется попотеть. Я почему спросил именно здесь, на этом форуме - хотелось прикрутить этот поиск к ТС. Да, в идеале результаты открывать в отдельной вкладке.
Так что если такая задача встанет еще раз - засяду за скриптопись.
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
VadiMGP



Joined: 21 Mar 2007
Posts: 1625

Post (Separately) Posted: Sat Jun 28, 2008 23:07    Post subject: Reply with quote

Обработка дубликатов - это, вообще-то, не моя прихоть, а вынужденная мера для ТС. ТС обязан знать, что в списке есть дубликаты и учитывать это при копировании, удалении и т.д.
Но не суть, бог с ним.

Тут на самом деле, даже греп не нужен, ищем-то только по имени файла! (кстати, под виндой полным полно разных грепов, как собак нерезаных) В VBScript я не силен, я все больше по старинке батничками балуюсь. Все, что нужно это два батника - основной и вспомогательный.
Основной (параметром получает файл со списком шаблонов)
Code:
for /F %%i in (%1) do for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%a:\nul call ssd.bat %%a %%i

Вспомогательный (ssd.bat)
Code:
pushd %1
cd\
dir *%2* /S /B
popd
Честно предупреждаю - сам я это не запускал, ибо нету сил моих дамских ждать пока эта марахайка все диски прошерстит, но в принципе, должно работать. Тупо, но железно.
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2586
Location: Большая деревня Москва

Post (Separately) Posted: Mon Jun 30, 2008 12:12    Post subject: Reply with quote

Большое спасибо, но... я столько не выпью.
Это я к тому, что разбираться и тестировать батнички придется долго и мучительно, и без поллитры там делать нечего. Все, пошел в Яндексе искать, что такое, например, "pushd"...
Грепов под виндой, понятное дело, хоть пруд пруди. Но ищут ли они по списку...
Есть утилита SaR (Search And Replace), но она кушает файлы типа простеньких скриптов для однократного поиска...

Еще раз спасибо.
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Page 1 of 1

 
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