bash - подстановочный знак [символы]

Есть ли способ использовать [символы] , например [: upper:] , как если бы они были подстановочным знаком? например, допустим, у меня есть каталог со следующими файлами:

AAA
AA
aaa
aa
BBB
BB
bbb
bb

теперь скажем, что я хочу ls все файлы, которые начинаются как минимум с двух строчных букв. Вместо ls [[: lower]] [[: lower:]] * есть более эффективный способ сделать это, который, по сути, будет "подстановочный номер [[: lower: ]] , а затем подстановочный знак? "

А как насчет того, чтобы начать не только с двух строчных букв, но и с ТОЛЬКО двух строчных букв, а не * строчных букв. (т.е. ? вместо * )? спасибо

0
задан 25 February 2018 в 18:33

1 ответ

Вы могли использовать расширенный globbing:

Если extglob опция оболочки включена с помощью shopt встроенный, несколько расширенных операторов сопоставления с образцом распознаны. В следующем описании список шаблона является списком одного или нескольких шаблонов, разделенных‘|’. Составные шаблоны могут быть сформированы с помощью одного или нескольких следующих подшаблонов:

? (список шаблона)
Нуль соответствий или одно возникновение данных шаблонов.

* (список шаблона)
Нуль соответствий или больше случаев данных шаблонов.

+ (список шаблона)
Соответствия одни или несколько случаев данных шаблонов.

(Список шаблона)
Соответствия один из данных шаблонов.

! (список шаблона)
Соответствия что-либо кроме одного из данных шаблонов.

Что касается того, что Вы спросили, я не могу понять этого:

... все файлы, которые запускают с ПО КРАЙНЕЙ МЕРЕ двух строчных букв... "подстановочное количество [[: ниже:]] и затем подстановочный знак?"

Подстановочный знак соответствует нулю или больше, который не является тем же как два или больше. Любое количество [[:lower:]]s может соответствовать расширенному шарику *([[:lower:]]). "По крайней мере двум" не нужен расширенный globbing вообще: [[:lower:]][[:lower:]]*.

... запуск с ТОЛЬКО 2 строчных букв, не * строчные буквы

[[:lower:]][[:lower:]]?([^[:lower:]]*)

Который является двумя символами нижнего регистра, дополнительно сопровождаемыми (что-либо кроме символа нижнего регистра и чего-либо).

4
ответ дан 30 October 2019 в 09:18

Другие вопросы по тегам:

Похожие вопросы: