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
AKR



Joined: 16 Mar 2007
Posts: 64
Location: Russian

Post (Separately) Posted: Tue Sep 23, 2008 17:20    Post subject: Использование регулярных выражений при поиске файлов Reply with quote

Здравствуйте уважаемые. Прошу не пинать сильно.
Возникла необходимость произвести поиск файлов содержащих некоторый текст, к сожалению решения, найти не удалось.
Изучение механизма регулярных выражений тоже не привело к требуемому результату. Однако предполагаю, что именно использование регулярных выражений должно помочь.

Посему очень прошу, подскажите, пожалуйста, как в ТС сделать поиск файлов с условием содержания в них двух слов, например "test" и "about". Обязательно нужно чтобы в этих файлах в любом порядке и в любых местах находились именно эти два слова.

Заранее большое спасибо.
_________________
Жизнь это игра для которой нет Tutorial`а
Back to top
View user's profile Send private message Yahoo Messenger
Tol!k



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

Post (Separately) Posted: Tue Sep 23, 2008 18:14    Post subject: Reply with quote

ищешь 1 слово;
выделяешь найденные файлы;
в выделеном ищешь 2е слово.

без регулярных выражений.
Back to top
View user's profile Send private message
AKR



Joined: 16 Mar 2007
Posts: 64
Location: Russian

Post (Separately) Posted: Tue Sep 23, 2008 18:35    Post subject: Reply with quote

Т.е. нахожу все файлы по первому слову, нажимаю "Файлы на панель", там выбираем все файлы (Ctrl+A) и теперь ещё раз поиск второго слова?.

Если предлагается это, то понятное дело. Так и приходится выкручиваться.
Но ведь есть же навреное более красивый вариант? ПОэтому и кинул взор на регулярные выражения. Может ведь понадобиться поиск и по трём словам или с исключением третьего слова. Но в данном случаи меня интересует имено как поставить условие "И", чтобы искал наличие обоих.

Есть мысли?
_________________
Жизнь это игра для которой нет Tutorial`а
Back to top
View user's profile Send private message Yahoo Messenger
Tol!k



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

Post (Separately) Posted: Tue Sep 23, 2008 18:39    Post subject: Reply with quote

В Тоталовских рег.выражениях есть оператор "ИЛИ", но (кажется) нет оператора "И"
Back to top
View user's profile Send private message
Rodny



Joined: 24 Jan 2007
Posts: 949
Location: Могилёв, Беларусь

Post (Separately) Posted: Tue Sep 23, 2008 21:16    Post subject: Reply with quote

AKR
AFAIR, поиск с регулярные выражениями происходит в пределах одной строки, максимум двух (вроде видел в каком-то текстовом редакторе).
Поэтому если слова могут быть в разных строках, то ничего не выйдет.

Поправьте, если ошибаюсь.
Back to top
View user's profile Send private message
Вахмурка



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

Post (Separately) Posted: Tue Sep 23, 2008 22:18    Post subject: Reply with quote

Простите, о каких "строках" идет речь?! Вопрос был про поиск файлов! Кстати, Флинт в свое время тоже заговорил о редакторе: http://forum.wincmd.ru/viewtopic.php?t=5439
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
CaptainFlint



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

Post (Separately) Posted: Wed Sep 24, 2008 02:16    Post subject: Reply with quote

AKR wrote:
Но ведь есть же навреное более красивый вариант?

К сожалению, нет.

Rodny wrote:
AFAIR, поиск с регулярные выражениями происходит в пределах одной строки, максимум двух (вроде видел в каком-то текстовом редакторе).

Зависит от реализации. Если речь о Тотале, то только одна строка, если обо всех программах вообще, то ограничений не существует (скажем, в EmEditor количество строк для регэкспов идёт отдельной настройкой).

Вахмурка wrote:
Простите, о каких "строках" идет речь?! Вопрос был про поиск файлов!

Вопрос был про поиск файлов по содержимому. Поэтому речь идёт о строках содержимого файлов.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Volniy



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

Post (Separately) Posted: Wed Sep 24, 2008 02:21    Post subject: Reply with quote

Вахмурка wrote:
Простите, о каких "строках" идет речь?!

Речь о текстовом содержимом файлов. Разыскиваемые слова по условию могут находиться в произвольных позициях, а тоесть вполне могут быть и в разных строках текста. Так что Тоталовский поиск с регекспами не прокатит в этом случае, "because the program only supports searching within one line." (c) 1993-2008 by Christian Ghisler
Back to top
View user's profile Send private message
Rodny



Joined: 24 Jan 2007
Posts: 949
Location: Могилёв, Беларусь

Post (Separately) Posted: Wed Sep 24, 2008 02:33    Post subject: Reply with quote

Вахмурка wrote:
о каких "строках" идет речь?

О последовательности символов, ограниченной символами конца строки, "0D 0A", если не ошибаюсь.
Будь то текстовый файл, или бинарный, эти символы наверняка в нём присутствуют. При моих попытках использования регекспов при поиске в файлах у меня сложилось мнение, что в поиск идёт именно в этих пределах.
Back to top
View user's profile Send private message
Вахмурка



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

Post (Separately) Posted: Wed Sep 24, 2008 08:42    Post subject: Reply with quote

Фразу
Quote:
файлов с условием содержания в них двух слов
можно было понять и "в их именах". Ну ладно, разъяснили.
А если бы потребовалось найти файлы, в именах которых встречаются ОДНОВРЕМЕННО строка1 и строка2? Видимо, так:
Code:
*строка1*строка2*.*
*строка2*строка1*.*
то есть поисков (проходов) будет 2. По этому поводу 2 вопроса:
1. Можно ли обойтись одним поиском, используя регулярные выражения (по-моему, нет)?
2. Если этих строк не 2, а N, то потребуется сначала по формуле комбинаторики посчитать число проходов? (например, при N = 3 проходов будет 6).
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
AKR



Joined: 16 Mar 2007
Posts: 64
Location: Russian

Post (Separately) Posted: Wed Sep 24, 2008 10:00    Post subject: Reply with quote

Вахмурка если бы нужно было искать в именеах файлов то это вовсе не проблема никакая.
по втоему примеру, в строке поиска нужно просто написать через пробел комбинации:
Code:
*строка1*строка2*.* *строка2*строка1*.*

если три слова то тут тяжелее
только перебирать комбинации или множественный поиск (т.е. поиск по результатам поиска). В регулярных выражениях есть операция "ИЛИ" но я не нашёл операции "И", так что видимо никак.

Ребята спасибо за помощь, теперь понятно почему не получается, что мне требуется.
Хотя даже не знаю что он сможет сделать если в даже в рег выражениях похоже нет такой "фишки".
Может стоит поднять вопрос Гислеру?
Вот отличная книга по регулярным выражениям.
http://wmate.ru/ebooks/book67.html
Вчера пробежался по ней, может что пропустил конечно, но таки не нашёл решения.
_________________
Жизнь это игра для которой нет Tutorial`а
Back to top
View user's profile Send private message Yahoo Messenger
Вахмурка



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

Post (Separately) Posted: Wed Sep 24, 2008 12:07    Post subject: Reply with quote

Quote:
написать через пробел комбинации
Да, об этой возможности я забыл, хотя в свое время даже скрипт написал...
_________________
Сайт 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