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: 21 Jun 2006
Posts: 1

Post (Separately) Posted: Wed Jun 21, 2006 19:01    Post subject: поиск текста в файле Reply with quote

Подскажите, есть ли в ТС возможность искать по нескольким словам (чтобы находились файлы содержащие одно или несколько из слов). Или может существует какой-нибудь плагин?
Back to top
View user's profile Send private message  
funduk



Joined: 16 Aug 2005
Posts: 1513
Location: Санкт-Петербург

Post (Separately) Posted: Wed Jun 21, 2006 19:34    Post subject: Reply with quote

Как вариант могу посоветовать написать так:

слово1(.*)слово2(.*)слово3
и поставить галочку у регулярных выражений.
Back to top
View user's profile Send private message  
funduk



Joined: 16 Aug 2005
Posts: 1513
Location: Санкт-Петербург

Post (Separately) Posted: Wed Jun 21, 2006 19:48    Post subject: Reply with quote

Ну или такой вариант (учитывает, что это именно слова, а не части слов):

(\s)*слово1(\s)*(.*)(\s)*слово2(\s)*

В справке есть более менее полное описание регулярных выражений. Замечательная вещь.
Back to top
View user's profile Send private message  
CaptainFlint



Joined: 14 Dec 2004
Posts: 6193
Location: Москва

Post (Separately) Posted: Wed Jun 21, 2006 20:00    Post subject: Reply with quote

funduk
Позанудствую малость. Very Happy
Как твой второй вариант запретит найти, скажем, одно такое слово: "слово1слово2"? Wink Я уж не говорю о том, что порядок слов может быть разным...

Алексей Фролов
Думаю, проще всего делать так: сначала выполнить поиск по одному слову, забросить результаты на панель, выделить все файлы, снова открыть диалог поиска, выполнить поиск файлов, содержащих второе нужное слово (проверить, что опция "Только в выделенных файлах" активирована), ну и так далее, если слов больше, чем 2.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message  
funduk



Joined: 16 Aug 2005
Posts: 1513
Location: Санкт-Петербург

Post (Separately) Posted: Wed Jun 21, 2006 20:37    Post subject: Reply with quote

CaptainFlint wrote:
Как твой второй вариант запретит найти, скажем, одно такое слово: "слово1слово2"?

Там, вроде, \s должно было бы сработать, если бы я вместо * + бы написал Smile
Quote:
Я уж не говорю о том, что порядок слов может быть разным...

Ну, это да Laughing

Quote:
Думаю, проще всего делать так: сначала выполнить поиск по одному слову, забросить результаты на панель, выделить все файлы, снова открыть диалог поиска, выполнить поиск файлов, содержащих второе нужное слово (проверить, что опция "Только в выделенных файлах" активирована), ну и так далее, если слов больше, чем 2.

Способ универсальный, но мой мне нравится тем, что при известном порядке (или если слова чередуются) требует одного запроса.
Back to top
View user's profile Send private message  
Volniy



Joined: 15 Dec 2004
Posts: 585
Location: Местный

Post (Separately) Posted: Wed Jun 21, 2006 22:45    Post subject: Re: поиск текста в файле Reply with quote

Я тоже побрюзжу немножко Rolling Eyes . Искать текст с помощью регулярных выражений можно только внутри одной строки текста
Quote:
...the program only supports searching within one line (с) Ghisler, TC Help file

Так что такое выражение, как
Code:
слово1(.*)слово2(.*)слово3

не будет работать если слова находятся в разных строках, хотя и последовательно.
Back to top
View user's profile Send private message  
funduk



Joined: 16 Aug 2005
Posts: 1513
Location: Санкт-Петербург

Post (Separately) Posted: Wed Jun 21, 2006 22:50    Post subject: Reply with quote

Чёрт, чой-то я этого в русской справке не углядел...
А с (\n)* работает?
Back to top
View user's profile Send private message  
Volniy



Joined: 15 Dec 2004
Posts: 585
Location: Местный

Post (Separately) Posted: Thu Jun 22, 2006 01:55    Post subject: Reply with quote

funduk wrote:
Чёрт, чой-то я этого в русской справке не углядел...
А с (\n)* работает?

В русской справке тоже есть:
Code:
Прочие модификаторы неприменимы для Total Commander, поскольку программа поддерживает только поиск в пределах одной строки.

А что должно работать-то с (\n)* ? Я чет не понял Sad
Вообще \n работает только если оно в конце или в начале(!) регулярного выражения. Только ведь для этих целей и так есть метасимволы начала (^) и конца ($) строки. Нафик не надо нам это \n ...
Back to top
View user's profile Send private message  
funduk



Joined: 16 Aug 2005
Posts: 1513
Location: Санкт-Петербург

Post (Separately) Posted: Thu Jun 22, 2006 10:21    Post subject: Reply with quote

Нда, с разрывами строк не получается...
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