Вернуться   Компьютерный форум > Блоги > Базаров
Оценить эту запись

Дополнительные возможности поиска файлов

Запись от Базаров размещена 25.03.2014 в 16:41

Опишем дополнительные возможности поиска файлов на дисках, связанные с использованием регулярных выражений.
Регулярные выражения при задании имен искомых файлов
Norton Commander позволяет при задании имен искомых файлов использовать не только символы * и ?, но и регулярные выражения,которые задаются набором символов в квадратных скобках. Напомним, что квадратные скобки в именах файлов DOS недопустимы,так что каких-либо проблем при задании имен файлов не возникает. Опишем регулярные выражения, применяемые при задании имен искомых файлов, подробнее:
[символы] - любой из указанных символов. Например, [ABC]*.* - файлы с именем, начинающимся с А, В или С, и любым расширением;
[символ1-символ2] -любой символ в указанном алфавитном диапазоне. Например, [0-9]*.* - файлы с именем, начинающимся с цифры, и с любым расширением;
[^символы] - любой символ, кроме указанных. Например, [^YZ]*.* - файлы с любыми именами, кроме начинающихся на Y или Z, и с любым расширением;
[^символ1-символ2] - любой из символов, кроме символов в указанном алфавитном диапазоне. Например, [^0-9]*.* - файлы с именем, не начинающимся с цифры, и с любым расширением.
Замечания. 1. Между квадратными скобками можно использовать сочетания символов и диапазонов символов. Например, [A-CFX-Z]*.* - файлы с именем, начинающимся с А, В, С, F, X, Y или Z, [A-Z0-9]*.* - файлы с именем, начинающимся с латинской буквы или цифры.
2. Пробелы между квадратными скобками недопустимы.
3. Если одним из символов между квадратными скобками надо указать дефис ("-"), то его надо указать сразу после открывающейся или перед закрывающейся квадратной скобкой. Например, [A-C-]*.* - файлы с именем, начинающимся с А, В, С или -.
Исключение файлов из поиска
Norton Commander позволяет не включать определенные файлы в результаты поиска. Это задается следующей конструкцией в строке с именами искомых файлов:
~имя-файла - файлы с данным именем исключаются из поиска.
Например, *.SYS ~CONFIG.SYS - искать файлы с расширением .SYS, но файлы с именем CONFIG.SYS не включать в результаты поиска. *.* ~*.BAK ~*.TMP - искать все файлы, кроме файлов с расширениями .ВАК и .ТМР.
Регулярные выражения при задании искомых строк
Регулярные выражения можно использовать не только при задании имен искомых файлов, но и при указании строк символов, которые должны содержаться в нужных файлах. Для того чтобы при задании искомых строк можно было использовать регулярные выражения, в запросе параметров поиска файлов следует включить режим Regular Expression (Поиск по шаблону).
При задании строк для поиска в файлах могут применяться следующие регулярные выражения:
? - любой одиночный символ;
* - любая последовательность любых символов, в том числе пустая;
[символы] - любой из указанных символов;
[символ1-символ2] - любой из символов в указанном алфавитном диапазоне;
[^символы] - любой символ, кроме указанных;
[^символ1-символ2] - любой из символов, кроме символов в указанном алфавитном диапазоне;
\n - символ перевода строки (LF, символ с кодом 13);
\r - символ возврата каретки (CR, символ с кодом 10);
\t - символ табуляции (символ с кодом 09);
^ - начало строки текстового файла (обычно строки текстового файла разделяются символами CR и LF);
$ - конец строки текстового файла.
Замечания. 1. При использовании регулярных выражений (то есть при включенном режиме Regular Expression (Поиск по шаблону)) прописные и строчные буквы при задании строк для поиска в файлах не считаются эквивалентными. Это касается не только символов между квадратными скобками, но и всех символов в искомой строке.
2. Как и при задании имен файлов, (см. выше), между квадратными скобками можно использовать сочетания символов и диапазонов символов. Например, [A-CFX-Z] - символы А, В, С, F, X, Y или Z. Пробелы между символами и диапазонами символов здесь использовать не надо: если указать пробел, то он будет считаться обычным символом. Так, [A-C X-Z] - символы А, В, С, Х, Y, Z или пробел.
3. Если одним из символов между квадратными скобками надо указать дефис ("-"), то его надо указать сразу после открывающей или перед закрывающей квадратной скобкой. Например, [A-C-] - символы А, В, С или -.
4. Если одним из символов между квадратными скобками надо указать закрывающую квадратную скобку, то ее надо указать сразу после открывающей. Например, []A-C] - символы ], A, B или С.
Примеры
^[Cc]opy - файлы со словом Сору или сору, находящимся в начале строки;
[Bb]lock[Rr]ead(*);$ - файлы со словом blockread (где буквы b и r могут быть как прописными, так и строчными, за которыми следует произвольный набор символов в круглых скобках, точка с запятой и сразу же вслед за этим конец строки.
Размещено в Без категории
Просмотров 1212 Комментарии 0 Отправить другу ссылку на эту запись
Всего комментариев 0

Комментарии

 

Текущее время: 23:27. Часовой пояс GMT +4. Powered by vBulletin® Version 5.8.9
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.