linux:console:wildcards
Различия
Показаны различия между двумя версиями страницы.
| Следующая версия | Предыдущая версия | ||
| linux:console:wildcards [2026/07/03 18:36] – создано so_v_a | linux:console:wildcards [2026/09/12 12:10] (текущий) – so_v_a | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | # Подстановочные знаки (Wildcards) | + | < |
| + | |||
| + | # Подстановочные знаки (Standard | ||
| Подстановочные знаки — это символы, | Подстановочные знаки — это символы, | ||
| - | Когда мы помещаем подстановочные знаки вместо имени файла, то bash расширит эти подстановочные знаки до любого соответствующего имени файла, это называется расширением имени файла или подстановкой ([[http://example.com|globbing]]). | + | |
| + | Когда мы помещаем подстановочные знаки вместо имени файла, то командная оболочка (bash и др.) | ||
| + | |||
| + | < | ||
| ## Wildcards | ## Wildcards | ||
| Строка 14: | Строка 19: | ||
| * **[! ]** — представляет любой символ, | * **[! ]** — представляет любой символ, | ||
| * ** \ ** — используется для экранирования любого из вышеуказанных символов, | * ** \ ** — используется для экранирования любого из вышеуказанных символов, | ||
| + | |||
| + | Пример использования: | ||
| + | ``` | ||
| + | $ ls | ||
| + | file1.jpg file2.jpg figure.png report.txt facts.txt | ||
| + | |||
| + | $ ls f* | ||
| + | file1.jpg file2.jpg figure.png facts.txt | ||
| + | |||
| + | $ ls *.txt | ||
| + | report.txt facts.txt | ||
| + | ``` | ||
| + | здесь, когда выполняется такая команда, | ||
| + | |||
| + | < | ||
| + | . | ||
| + | |||
| + | ## Примеры использования | ||
| + | |||
| + | ### Соответствие многим, | ||
| + | |||
| + | Чтобы сопоставить ноль или несколько символов или ровно один из любого символа, | ||
| + | |||
| + | ``` | ||
| + | $ ls | ||
| + | abc abc1 abc2 abc3 xyz xyz1 xyz2 xyz3 | ||
| + | |||
| + | $ ls abc* | ||
| + | abc abc1 abc2 abc3 | ||
| + | |||
| + | $ ls abc? | ||
| + | abc1 abc2 abc3 | ||
| + | ``` | ||
| + | |||
| + | Обратите внимание, | ||
| + | Если бы мы хотели сопоставить //один или несколько символов//, | ||
| + | ### Наборы и диапазоны, | ||
| + | |||
| + | Квадратные скобки (**[]**) позволяют нам реализовать два типа совпадений. Мы можем сопоставить список символов или диапазон, | ||
| + | |||
| + | Если бы мы хотели перечислить все файлы длиной в три буквы, то могли бы это сделать так: | ||
| + | ``` | ||
| + | $ ls [a-z][a-z][a-z] | ||
| + | abc xyz | ||
| + | |||
| + | $ ls [abcxyz][abcxyz][abcxyz] | ||
| + | abc xyz | ||
| + | |||
| + | $ ls [a-y][a-y][a-y] | ||
| + | abc | ||
| + | |||
| + | $ ls [A-Z][A-Z][A-Z] | ||
| + | |||
| + | ``` | ||
| + | |||
| + | В строке 1 мы указали bash три диапазона для сопоставления. Каждый диапазон будет соответствовать только одному символу, | ||
| + | |||
| + | Также обратите внимание, | ||
| + | |||
| + | Строки 1 и 3 дают одинаковый результат, | ||
| + | Мы могли бы объединить диапазоны в наборе.\\ | ||
| + | |||
| + | Чтобы сопоставить //все буквы и цифры, как в верхнем, | ||
| + | Разместив " | ||
| + | |||
| + | < | ||
| + | . | ||
| + | ### Списки, | ||
| + | |||
| + | Фигурные скобки **{}** используются для хранения списка терминов, | ||
| + | |||
| + | ``` | ||
| + | $ ls {abc,xyz}1 | ||
| + | abc1 xyz1 | ||
| + | |||
| + | $ ls abc{1,3} | ||
| + | abc1 abc3 | ||
| + | ``` | ||
| + | . | ||
| + | |||
| + | ## Документация | ||
| + | |||
| + | Ссылка на [[https:// | ||
| + | |||
/var/www/html/dokuwiki/data/attic/linux/console/wildcards.1783103812.txt.gz · Последнее изменение: — so_v_a
