LINUX.ORG.RU

BASH regex


0

0

Как вывести на stdout все файлы из определённого католога в названии которого содержится мин. одна заглавная буква?

anonymous

Ответ на: комментарий от anonymous

[~/tmp/tt]$ ls aaa aAa [~/tmp/tt]$ ls *[A-Z]* aAa

Или я неправильно понял вопрос?

anonymous
()
Ответ на: комментарий от dilmah

Правильный ответ дал dilmah.
Кстати работет с и без кавычек

Другой вопрос: как показать только те файлы которые состоят из одного, двух или трёх символов?

iv_ru
()
Ответ на: комментарий от iv_ru

> Кстати работет с и без кавычек

без кавычек он работает очень плохо

во первых если в директории есть файл с именем состоящим из одной заглавной буквы, то [A-Z] проматчится самим шеллом и превратится в одну эту букву

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

dilmah ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.