синтаксис ls --hide = и ls --ignore =


16

ls --hideи ls --ignoreпредоставляет возможность опускать файлы, определенные с помощью регулярных выражений, установленных после --ignore=детали. Последний гарантирует, что эта опция не отключена через -a, -A. Команда manи infoстраница упоминают регулярные выражения.

Вопрос : Какие подстановочные знаки или регулярные выражения поддерживаются в ls --hide=и ls --ignore=.

Я обнаружил, что, * $ ?кажется, поддерживается, а также POSIX Bracket Expressions. Но, похоже, это не всегда работает должным образом, и для меня это скорее игра проб и ошибок. Я что-то упустил здесь?



В некоторой степени связан, но этот вопрос конкретно о том, в --ignoreто время как вопрос, который вы процитировали, касается emacs и --ignoreупоминается только мимоходом в ответе.
багамат

Ответы:


12

Из руководства :

-I pattern, --ignore=pattern

В каталогах игнорируйте файлы, имена которых соответствуют шаблону оболочки (не регулярному выражению). Как и в оболочке, инициал .в имени файла не соответствует шаблону в начале шаблона. Иногда полезно дать эту опцию несколько раз. Например,

     $ ls --ignore='.??*' --ignore='.[^.]' --ignore='#*'

Первый параметр игнорирует имена длиной 3 или более, начинающиеся с ., второй игнорирует все двухсимвольные имена, начинающиеся с .кроме .., а третий игнорирует имена, начинающиеся с #.

Вы можете использовать только шаблоны оболочки : *соответствует любому количеству символов,? соответствует любому одному символу, […]соответствует символам в скобках и \цитирует следующий символ. Символ $стоит сам за себя (убедитесь, что он находится в одинарных кавычках или перед ним стоит a, \чтобы защитить его от расширения оболочки).


0

Он использует формат шаблона регулярных выражений POSIX.2. См. re_format(7)Справочную страницу для конкретных деталей.


это именно то, что я имел в виду с POSIX Bracket Expression, точно :)
erch

Думаю, я действительно хотел сказать вам просто прочитать страницу руководства.
Багамат
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.