| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
| linux:console:wildcards [2026/07/05 18:18] – [Наборы и диапазоны, []] so_v_a | linux:console:wildcards [2026/09/12 12:10] (текущий) – so_v_a |
|---|
| | <!DOCTYPE markdown> |
| | |
| # Подстановочные знаки (Standard Wildcards или Globbing Patterns) | # Подстановочные знаки (Standard Wildcards или Globbing Patterns) |
| |
| Обратите внимание, что ***** соответствует как **abc** , так и **abc1**, **abc2**, **abc3** , тогда как **?** не соответствует **abc**. Это связано с тем, что ** * ** означает //ноль или более любых символов//, а **?** предназначен //ровно для одного любого символа//.\\ | Обратите внимание, что ***** соответствует как **abc** , так и **abc1**, **abc2**, **abc3** , тогда как **?** не соответствует **abc**. Это связано с тем, что ** * ** означает //ноль или более любых символов//, а **?** предназначен //ровно для одного любого символа//.\\ |
| Если бы мы хотели сопоставить //один или несколько символов//, то ** * ** не сработает. Однако если мы объединим эти два понятия, как ** ?* **, то это будет соответствовать //одному или нескольким символам//. | Если бы мы хотели сопоставить //один или несколько символов//, то ** * ** не сработает. Однако если мы объединим эти два понятия, как ** ?* **, то это будет соответствовать //одному или нескольким символам//. |
| |
| ### Наборы и диапазоны, [] | ### Наборы и диапазоны, [] |
| |
| |
| Строки 1 и 3 дают одинаковый результат, но если в строке 1 используется диапазон, то в строке 3 используются наборы.\\ | Строки 1 и 3 дают одинаковый результат, но если в строке 1 используется диапазон, то в строке 3 используются наборы.\\ |
| Мы могли бы объединить диапазоны в наборе. Чтобы сопоставить //все буквы и цифры, как в верхнем, так и в нижнем регистре//, мы должны использовать [a-zA-Z0-9]. | Мы могли бы объединить диапазоны в наборе.\\ |
| |
| Разместив **!** в начале набора или диапазона мы указываем bash, чтобы он соответствовал всему, //кроме символов, перечисленных в наборе//. | Чтобы сопоставить //все буквы и цифры, как в верхнем, так и в нижнем регистре//, мы должны использовать [a-zA-Z0-9].\\ |
| | Разместив "**!**" в начале набора или диапазона мы указываем bash, чтобы он соответствовал всему, //кроме символов, перечисленных в наборе//. |
| |
| <blockquote>Все специальные персонажи теряют смысл внутри квадратных скобок (**[]**), за исключением "**-**" который приобретает особый смысл, т. е. **[? \*]** будет соответствовать только знаку вопроса или восклицательному знаку, но они не будут использоваться как подстановочные символы.</blockquote> | <blockquote>Все специальные символы теряют смысл внутри квадратных скобок (**[]**), за исключением "**-**" который приобретает особый смысл, т. е. **[? \*]** будет соответствовать только знаку вопроса или восклицательному знаку, но они не будут использоваться как подстановочные символы.</blockquote> |
| . | . |
| ### Списки, {} | ### Списки, {} |