Список файлов или директорий, начинающихся с 'jre'

Мне нужно перечислить файлы и директории с именами, начинающимися с jre (разрешены строчные и заглавные буквы).

Когда я выполню:

ls | grep jre

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

Как решить мою проблему?

2 ответа

Ты можешь использовать find, В вашем случае вы можете запустить

find -maxdepth 1 -iname 'jre*'

Объяснение:

find ищет файлы / каталоги с заданными параметрами: -maxdepth 1 ограничивает поиск в текущем каталоге. В противном случае он также будет искать во всех подкаталогах. -iname принимает шаблон и выполняет поиск без учета регистра. Сам шаблон 'jre*' означает, что строка должна начинаться с "jre", а продолжаться с произвольного числа символов.

В качестве альтернативы, если вы хотите использовать grep:

ls | grep -i '^jre'

-i переключает поиск без учета регистра и ^ Результаты поиска только совпадения с "JRE" в начале

Find должен сделать свое дело:

find . -iname 'jre*'
Другие вопросы по тегам