18c0693f

Шаблоны имени файла (wildcards) командного интерпретатора


Часто Вам нужно, чтобы команда работала с группой файлов без набора всех их имен. Для описания группы файлов используются шаблоны имени файла командного интерпретатора:

  • *

  • Соответствует любой группе из нуля и более символов.

  • Не соответствует имени файла с "." в начале.

  • ?

  • Соответствует ровно одному символу.

  • [...]

  • Соответствует ровно одному символу из тех, что заключены в скобки.

  • [a-z]

  • Соответствует ровно одному символу из тех, что между a и z.

  • [^...]

  • Соответствует ровно одному символу, если он не среди тех, что перечислены в скобках (символ "^" - спецсимвол и здесь на соответствие не проверяется).

    Для примера попробуйте следующие команды и поразмышляйте над полученными результатами:

    $ mkdir junk; cd junk; $ touch 1.txt 2.txt 3.c 4.h .5.txt $ echo *.txt 1.txt 2.txt $ echo * 1.txt 2.txt 3.c 4.h $ echo *.[hc] 3.c 4.h $ echo .* . .. .5.txt $ echo .[^.]* .5.txt $ echo [^1-3]* 4.h $ cd ..; rmdir junk