Как записать с помощью подстановочных символов все файлы
У Word есть мощные возможности поиска, которые позволяют искать вам текст, числа, форматы, параграфы, разрывы страниц, использовать подстановочные символы, коды полей и многое другое. Используя подстановочные символы, вы можете искать просто всё что угодно в вашем документе. Поскольку функция поиска совмещена с заменой, то вы можете также выполнять весьма замысловатые преобразования текста.
Прежде чем мы приступим, поясню пару терминов, которые могут быть не совсем понятными для вас.
Регулярное выражение — это условное обозначение критериев, которым должна соответствовать искомая строка. С помощью регулярных выражений можно найти множество строк или слов, соответствующих заданным условиям.
Подстановочные символы (wildcards) — это * (звёздочка), . (точка) и ? (знак вопроса), которые имеют в регулярных выражениях специальное значение. Например, символ * (звёздочка) обозначает любое количество любых символов, а ? (знак вопроса) означает любой один символ.
Давайте начнём знакомство с продвинутыми возможностями поиска в Word!
Как использовать подстановочные символы в продвинутом поиске
В ленте Word переключитесь на вкладку «Главная» и нажмите кнопку «Заменить»:
В окне «Найти и заменить» кликните «Больше >>», чтобы развернуть диалоговое окно и увидеть дополнительные опции. Если вы увидели кнопку «<< Меньше», значит всё прошло удачно.
В раскрывшемся окне для показа опций поиска, включите флажок «Подстановочные знаки».
Обратите внимание, что после того, как вы включили опцию «Подстановочные знаки», Word сразу под полем «Найти:» показывает, что эта опция включена. Также когда выбран флажок «Подстановочные знаки», некоторые опции становятся недоступными для включения, а именно: «Учитывать регистр», «Только слово целиком», «Учитывать префикс», «Учитывать суффикс».
Теперь нажмите кнопку «Специальный» для просмотра списка подстановочных знаков.
В Word доступны следующие подстановочные символы:
Наконец выберите подстановочный символ для вставки в ваши критерии поиска. После выбора подстановочного знака, символ добавляется в строку поиска. Когда запомните значения, вы также можете использовать клавиатуру для ввода символов вместо вставки их путём выбора из списка. Меню «Специальный» работает как справка в случае если вы не помните, какие доступны специальные символы и их значения.
Готовые увидеть как работают подстановочные символы? Давайте ознакомимся с конкретными примерами использования регулярных выражений и подстановочных символов в Word.
Для чего используются подстановочные символы?
В меню «Специальный» содержит много специальных символов, которые вы можете использовать для поиска по документу Word, но на самом деле не все они являются подстановочными символами. Большинство из них нужны для поиска каких-то специфичных и, иногда, скрытых символов Word, таких как пробелы, разного вида тире, разрывы страницы.
Здесь мы заострим внимание в первую очередь на подстановочных знаках, которые означают один или более символов текста или модифицируют поиск на основе другого символа в вашем поиске.
Использование звёздочки для указания любого количества символов
Скорее всего, самым часто используемым подстановочным символом для вас станет звёздочка. Она означает, что вы хотите найти любое количество символов. Например, чтобы найти все слова, начинающиеся с «отм», напечатайте «отм*» в строке поиска и затем кликните кнопку «Найти далее». Наше регулярное выражение означает любое количество букв (* звёздочка), следующих после «отм».
В качестве альтернативы ввода символа звёздочки с клавиатуры, вы можете использовать выбор специального символа из списка подстановочных знаком. Вначале наберите «отм» в строке «Найти». Поставьте галочку «Подстановочные знаки». Затем кликните кнопку «Специальный» и выберите «Любое число символов». После этого нажмите кнопку «Найти далее»:
Word оценивает поиск и показывает вам первое вхождение, которое он найдёт в документе. Продолжайте кликать «Найти далее», чтобы найти все части текста, которые соответствуют вашему поисковому термину.
Вы должны помнить важную вещь: при включении подстановочных знаков, поиск автоматически становится чувствительным к регистру (такова особенность регулярных выражений, частью которых являются подстановочные символы). Поэтому поиск «отм*» и «Отм*» даст различные результаты.
Использование знака вопроса для поиска определённого количества символов
В то время как звёздочка означает любое количество символов, знак вопроса в регулярном выражении означает единичный (один) символ. Например, если «отм*» будет искать строки начинающиеся с «отм» за которыми идёт любое количество символов, то «отм?» будет искать строки, начинающиеся с «отм», за которой идёт только один символ.
Как и звёздочку, знак вопроса можно использовать в любой части слова — в том числе в начале и в середине.
Также можно использовать вместе несколько знаков вопроса вместе, тогда они будут обозначать несколько букв.
Например, регулярное выражение для поиска «о?о?о» оно означает букву «о», за которой идёт любой символ, затем снова идёт буква «о», затем опять любой символ и затем опять буква «о» найдёт следующие слова:
Можно найти слова с четырьмя буквами «о», шаблон «о?о?о?о»:
Или с тремя буквами «а», шаблон «а?а?а»:
Необязательно использовать одинаковые буквы — составляйте выражения под ваши задачи.
Например, чтобы найти слова, в которых первая буква «з», затем идёт любой другой символ, а затем буква «к» и вновь любой символ, шаблон для поиска «з?к?» найдёт:
Использование знака собачка (@) и фигурных скобок (< and>) для поиска вхождений предыдущего символа
Вы можете использовать знак собачка (@) для указания одного или более вхождения предыдущего символа. Например, «ro@t» найдёт все слова, которые начинаются на «ro» и заканчиваются на «t» и которые имеют любое количество букв «o» между этими частями. Поэтому по этим условиям поиска будут найдены слова «rot», «root» и даже «roooooot».
Для большего контроля поиска предыдущих символов, вы можете использовать фигурные скобки, внутри которые укажите точное число вхождений предыдущего символа, который вы хотите найти. Например, поиск «rot» найдёт «root», но не найдёт «rot» или «roooooot».
Также поддерживает синтаксис вида - означает искать количество вхождений символа более n раз; - означает искать количество вхождений символа менее m раз; - означает искать количество вхождений символа более n раз, но менее m раз.
Чтобы показать более практический пример, немного забежим вперёд, следующий поиск использует набор символов (будут рассмотрены в этой статье чуть ниже), в результате, будут найдены все слова, в которых подряд идут четыре согласных буквы:
Использование угловых скобок (< и >) для обозначения начала и конца слова
Это довольно полезно, но эта техника становится более мощной, когда вы комбинируете её с другими подстановочными символами. Например, с помощью «<з. >» вы можете найти все слова, которые начинаются на «з» и состоят ровно из пяти букв.
Вам необязательно использовать обе угловые скобки в паре. Вы можете обозначить просто только начало или конец слова, используя только одну соответствующую скобку. Например «ство>» найдёт слова
Использование квадратных скобок ([ и ]) для поиска определённых символов или диапазонов символов
Вы можете использовать квадратные скобки для указания любых символов или диапазонов символов. Например «[а]» будет искать любые вхождения буквы «а».
В следующем примере, будет искаться строка, которая начинается на «р», затем идёт любая гласная, а затем снова буква «р»: «р[аеиоуэюя]р»
Далее аналогичный пример, но между буквами «р» должно быть две любых гласных: «р[аеиоуэюя]р», будет найдено, к примеру, слово «приоритет».
Вы также можете искать квадратные скобки для поиска диапазонов символов, например «[a-z]» найдёт любую из этих букв в нижнем регистре. Поиск «2» найдёт любую из этих цифр.
Пример р[а-и]р найдёт строку, которая начинается и заканчивается на букву «р» между которыми две любые буквы из указанного диапазона.
Следующий пример довольно сложный, но при этом и довольно интересный:
В начале строки должна стоят любая заглавная буква ([А-Я]) ровно один раз ( ). Затем должны идти маленькие буквы, цифры, пробелы, запятые и тире ([а-я0-9 ,-]) хотя бы один раз и более ( ), в самом конце должна стоять точка (.)
Думаю вы догадались, что это регулярное выражение которое будет искать предложения. Перечислены не все возможные символы, поэтому не будут найдены предложения, содержащие кавычки и некоторые другие символы, а также вопросительные и восклицательные предложения.
То есть вы можете комбинировать подстановочные символы и дополнять их кванторами количества, а затем это всё комбинировать любое количество раз, пока не получите желаемый результат. На самом деле, это довольно сложно — почти как программирование, поскольку требует абстрактного мышления.
Использование скобок для группировки поисковых терминов в последовательности
Вы можете использовать круглые скобки в вашем поиске для группировки последовательностей символов.
Можно использовать довольно простые шаблоны, например «(го) » найдёт строки, в которых «го» встречается три и более раза подряд.
Но настоящую силу эта конструкция покажет при использовании в операциях поиска и замены.
Показанная далее техника называется «обратные ссылки». Начнём с конкретного примера, чтобы было проще понять. Предположим, нам нужно во всём документе поменять местами два слова, допустим, имя и фамилию. К примеру, во всём тексте множество раз упоминается «Милосердов Алексей», а нам нужно, чтобы было «Алексей Милосердов».
Для этого в строке поиска мы вставляем «(Милосердов) (Алексей)», а в строке «Заменить на» пишем «\2 \1».
Скобки не участвуют в поиске, то есть в результате будет искаться фраза «Милосердов Алексей» При этом то, что было найдено в первых скобках, будет присвоено как значение «\1», а то, что было найдено во вторых скобках, станет значением «\2». При этом найденная строка заменится на «Алексей Милосердов».
Можно сделать по-другому, допустим вместо фамилии и имени, я хочу заменить на фамилию и инициалы, тогда в строке поиска я ищу «(Милосердов) (Алексей)», а в строке «Заменить на» пишу «\1 А.В.».
В скобках можно писать не только слова, там могут использоваться подстановочные символы в разных сочетаниях, а также кванторы количества. Когда находится целая фраза, то Word автоматически пронумеровывает эти группы слева направо (это происходит «под капотом» - мы это не видим), поэтому в поле «Заменить на» мы можем использовать эти группы по их номеру, перед которым нужно поставить обратный слэш.
Рассмотрим более жизненный пример. Допустим, у нас по всему документу имеются даты вида 31.12.2019 (то есть в формате день.месяц.год), а мы хотим чтобы все эти даты были в формате 2019.12.31 (то есть год.месяц.день).
Тогда для поиска любых дат составляем регулярное выражение с подстановочными символами:
«1» - это диапазон, обозначающий все цифры, « » - это квантор количества, который говорит, что предыдущий символ должен встречаться ровно два раза. То есть будет искаться строка длиной ровно два символа, состоящая из цифр. Затем идёт точка, затем снова аналогичная строка и точка, и в конце строка из четырёх цифр.
Строка подходит для поиска, но чтобы были созданы обратные ссылки, мы заключаем нужные нам элементы в круглые скобки: «(3).(3).(4)» - она будет работать точно также, как и предыдущая.
Теперь составляем строку «Заменить на». В начале идёт год, то есть третья группа, она обозначается как «\3», затем точка, затем вторая группа, затем опять точка и затем первая группа, получаем «\3.\2.\1».
Используйте обратный слэш (\) если вам нужно искать символы, которые являются подстановочными знаками
А что если вам нужно найти в документе символ, который используется как подстановочный? Например, если вам нужно найти звёздочку? Если просто её вставите, то она сработает как подстановочный знак и будет найдено всё что угодно. Есть два способа искать символы в их буквальном значении.
Первый способ, это снять галочку с опции «Подстановочные знаки» перед выполнением поиска. Но если вы не хотите это делать, вы можете использовать обратный слэш (\) перед этим символом. Например, чтобы найти буквальный знак вопроса при включённых «Подстановочных знаках», введите в поле Поиск «\?».
Заключение
Вы можете делать весьма сложные поиски и замены комбинируя подстановочные символы в ваших поисках в Word, поэтому продолжайте пробовать с ними. После того, как вы действительно разберётесь, какой потенциал несут регулярные выражения, вы сможете увеличить вашу продуктивность. Нам только следует порекомендовать вам не делать большие операции поиска и замены одновременно для всего документа, если у вас нет полной уверенности что ваши подстановочные символы делают именно то, что вы задумали. Также рекомендуется для этого использовать тестовые копии документов.
Одно из мощных средств современных оболочек (в том числе Bash) - подстановочные символы, позволяющие задавать несколько имен команд или файлов в одном выражении. Рассмотрим простой пример. Если ввести команду,
ответом на нее будет полный список файлов текущего каталога. Предположим, что нам надо найти файл, о котором известно только то, что его имя начинается на букву "z". Введем команду,
в которой аргумент z * означает все файлы, имена которых начинаются на букву "z". Пользователям DOS или Windows такое применение звездочки, вероятно, знакомо. После ввода команды оболочка Bash составляет список всех файлов, имена которых начинаются на "z" и заменяет аргумент z * этим списком. Имена файлов из списка передаются в качестве аргументов команде Is -1. В оболочке Bash возможности подстановочного символа "*" значительно шире, чем в DOS или окне DOS системы Windows.
Подстановочные символы в обозначении каталогов и файлов
Одно из применений подстановочных символов - обозначение каталогов и файлов. Здесь, кроме звездочки, применяются еще два символа. Все символы, а также их значения, перечислены в табл. 16.3.
Табл. 16.3. Применение подстановочных символов в обозначении каталогов и файлов
Любой единичный символ
Любой единичный символ, заключенный в скобки
Любой единичный символ, попадающий в указанный диапазон
Любой единичный символ, кроме заключенных в скобки
Любой единичный символ, не попадающий в указанный диапазон
Рассмотрим несколько примеров.
Предположим, надо составить список всех файлов с именами длиной в три символа, первый из которых "а", а последний - "z". Это можно сделать, введя команду
Если заменить вопросительный знак звездочкой, получим список файлов, имена которых просто начинаются на "а" и оканчиваются "z".
Вопросительный знак обозначает один произвольный символ, звездочка - любое их количество, включая нуль.
Рассмотрим ситуацию, когда необходимо получить список файлов, имена которых начинаются на а, Ь, с или d._ Для этого можно воспользоваться следующей командой.
Однако такая форма несколько громоздка. Гораздо удобнее воспользоваться следующей: $ Is -I [abed]*
Выражение в квадратных скобках означает любую из перечисленных букв, звездочка - любое число следующих за ней произвольных символов.
Поскольку перечисленные буквы образуют непрерывную последовательность, команду можно упростить:
Наконец, иногда необходимо исключить один или несколько символов, включив все остальные, Рассмотрим создание сжатого архива всех исходных каталогов системы. Предположим, нужно архивировать все каталоги кроме тех, имена которых начинаются с буквы "m". Для этого можно воспользоваться командой,
$ tar czvf home.tar.gz /home/[a-1]* /home/[n-z]*
но гораздо удобнее следующая форма этой же команды:
$ tar czvf home.tar.gz /home/[!m]*
Здесь выражение в квадратных скобках обозначает любой символ, кроме буквы "m".
Можно усложнить задачу, исключив архивирование каталогов, имена которых начинаются с букв m, n или о. Соответствующая команда будет иметь вид
$ tar czvf home.tar.gz /home/[^mno]*
$ tar czvf home.tar.gz /home/[!m-o]*
Фигурные скобки
Подстановочные символы в фигурных скобках имеют те же свойства, но применимы к именам, не обязательно связанным с существующими файлами или каталогами. Рассмотрим пример команды с выражением в фигурных скобках.
По этой команде создаются четыре каталога с именами testdirl, testdir2, testdir3 и testdir4.
Обратите внимание, что элементы выражения в фигурных скобках разделены запятыми, и все они используются последовательно для образования нужных имен. Разделение элементов запятыми предполагает, что они, в отличие от элементов в квадратных скобках, могут содержать более одного символа, например:
Следует учитывать, что выражение в фигурных скобках должно содержать минимум одну запятую.
Интересно, что в выражения в фигурных скобках можно вкладывать выражения с подстано вочными символами имен файлов и каталогов, а также другие выражения в фигурных скобках. Это следствие того, что первыми подставляются вложенные символы. Рассмотрим следующий пример.
По этой команде создаются следующие кащлоги.
В приведенной команде выражение вложено в другое выражение в фигурных скобках.
Точно так же внутри фигурных скобок можно указывать выражения с подстановочными символами имен файлов и каталогов. По команде
$ chmod 644 testfile.
происходит изменение разрешений доступа к серии файлов, в том числе ко всем файлам, соответствующим выражениям testfile. tx?, testfile.bak и от testfile.00 до testfile.09.
Подстановка команд
Еще один вариант применения подстановочных символов - подстановка команд, напоминающая конвейеризацию. При конвейеризации стандартный вывод одной команды переадресуется на стандартный ввод другой, при подстановке же он передается другой команде как аргумент или параметр.
Для примера, рассмотрим ситуацию, в которой необходимо сжать все файлы с расширением . bak. Список этих файлов можно получить, введя команду
$ find / -name '*.bak' -print
Этой же командой с флажком exec можно воспользоваться для сжатия всех файлов.
$ find / -name '*.bak r -exec gzip <> \;
Другой вариант - подстановка команды, как в следующем примере.
$ gzip "find / -name '*.bak' -print"
Здесь команда find заключена в обратные одинарные кавычки, указывающие, что ее результаты должны использоваться как часть командной строки - в данном случае, как аргументы команды gzip.
Существует альтернативная форма этой конструкции - без обратных кавычек:
$ gzip $(find / -name \*.bak -print)
Основное различие между двумя конструкциями - смысл обратной косой (\) в первой из них. Этот смысл сохраняется, если не указаны символы "$","'" или "\".
Приведенный перечень подстановочных символов оболочки Bash не полон. Полный список, наряду с подробным описанием, можно найти на странице руководства Bash. Однако и то, что мы описали, рбеспечивает немалые возможности. Если вам понадобятся дополнительные средства- связанные с подстановочными символами, обратитесь к странице руководства, воспользовавшись командой man bash.
Часто приходится проектировать командлет, который будет выполняться для группы ресурсов, а не для отдельного ресурса. Например, командлету может потребоваться поиск всех файлов в хранилище данных с одинаковым именем или расширением. При проектировании командлета, который будет выполняться для группы ресурсов, необходимо предоставить поддержку подстановочных знаков.
Использование подстановочных знаков иногда называется глобализации.
Windows PowerShell Командлеты, использующие подстановочные знаки
многие командлеты Windows PowerShell поддерживают подстановочные знаки для значений их параметров. Например, почти каждый командлет, имеющий Name параметр или, Path поддерживает подстановочные знаки для этих параметров. (Хотя большинство командлетов, у которых есть Path параметр, также имеют LiteralPath параметр, который не поддерживает подстановочные знаки.) Следующая команда показывает, как использовать подстановочный знак для возврата всех командлетов в текущем сеансе, имя которых содержит команду Get.
Поддерживаемые подстановочные знаки
Windows PowerShell поддерживает следующие подстановочные знаки.
Подстановочный знак | Описание | Пример | Соответствует | Не соответствует |
---|---|---|---|---|
* | Соответствует нулю или большему числу символов, начиная с указанной позиции | a* | A, AG, Apple | |
? | Соответствует любому символу в указанной позиции | ?n | Объект, в, на | обнаружил |
[ ] | Соответствует диапазону символов | [a-l]ook | книга, Кука, взгляд | Нук, занял |
[ ] | Соответствует указанным символам | [bn]ook | книга, Нук | Кука, взгляд |
При проектировании командлетов, поддерживающих символы-шаблоны, можно использовать сочетания символов-шаблонов. Например, следующая команда использует Get-ChildItem командлет для получения всех файлов .txt, которые находятся в папке к:\течдокс и начинаются с букв "a" до "l".
В предыдущей команде используется подстановочный знак диапазона, [a-l] чтобы указать, что имя файла должно начинаться с символов "a" до "l" и использовать * подстановочный знак в качестве заполнителя для любых символов между первой буквой имени файла и расширением .txt .
В следующем примере используется шаблон шаблона диапазона, который исключает букву "d", но включает все остальные буквы из "a" в "f".
Обработка литеральных символов в шаблонах с подстановочными знаками
Если указанный шаблон шаблона содержит литеральные символы, которые не должны быть интерпреттед в качестве подстановочных знаков, используйте символ обратной кавычки ( ` ) в качестве escape-символа. Если вы указываете литеральные символы int API PowerShell, используйте один обратный символ. При указании литеральных символов в командной строке PowerShell используйте два обратных импульса.
Например, следующий шаблон содержит две квадратные скобки, которые должны быть выполнены буквально.
При использовании в API PowerShell используется:
При использовании из командной строки PowerShell:
Этот шаблон соответствует "Джон Смит [Marketing]" или "Джон Смит [разработка]". Пример:
Выходные данные командлета и подстановочные знаки
Если параметры командлета поддерживают подстановочные знаки, операция обычно создает выходные данные массива. Иногда не имеет смысла поддерживать выходные данные массива, поскольку пользователь может использовать только один элемент. Например, командлет не Set-Location поддерживает вывод массива, поскольку пользователь устанавливает только одно расположение. В этом случае командлет по-прежнему поддерживает подстановочные знаки, но обеспечивает разрешение в одном месте.
БлогNot. Word: специальные символы и подстановочные знаки
Word: специальные символы и подстановочные знаки
В окне "Найти и заменить" Microsoft Word есть два типа подстановок - специальные символы и подстановочные знаки. Те и другие можно вводить в строки поиска и замены, включив используя список "Special" ("Специальный") в полностью открытом окне "Найти и заменить" (нажать комбинацию клавиш Ctrl+H , потом кнопку " Больше>> ").
Специальные символы - это те, которых нет на клавиатуре или которые нельзя непосредственно вписать в строки поиска/замены, например, разрыв строки.
Если в окне поиска/замены включен чекбокс Use wildcards (Подстановочные знаки), то можно задавать достаточно сложные условия поиска и замены, потому что подстановчные знаки - это офисная реализация всё тех же регулярных выражений.
Чекбокс "Подстановочные знаки" в работе - убираем лишние пробелы в тексте
Некоторые символы и знаки можно использовать только в строке поиска, а некоторые — только в строке замены. При этом возможность применения части символов зависит от того, включен ли чекбокс Use wildcards (Подстановочные знаки).
Полный список подстановок в самом Word отсутствует или я его не нашёл, поэтому ниже приводится более-менее адекватный список, актуальный для всех версий Word плюс немного примеров.
1. Строка поиска
2. Строка замены
Примечание 1. В операторах и точка с запятой означает List separator (Разделитель элементов списка) из настроек операционной системы, завиящих от локали (например, в США - запятая, в России - точка с запятой).
Примечание 2. Для поиска в документе символов, которые в строке поиска "заняты" как специальные перед ними ставится обратный слэш ( \ ). Например, если включена опция Use wildcards (Подстановочные знаки), для поиска восклицательного знака в строке поиска вводится \!
Читайте также: