Я должен перечислить файлы и директоров с именами, запускающимися с jre
(строчные и прописные буквы позволяются).
Когда я выполняюсь:
ls | grep jre
... это захватывает просто низкие прописные буквы и дает вывод с jre
не только в положении запуска. На самом деле у меня есть чувство, что grep не является хорошим выбором вообще в этом случае.
Как решить мою проблему?
можно использовать find
. В Вашем случае можно работать
find -maxdepth 1 -iname 'jre*'
Объяснение:
find
поиски файлов/каталогов с данными параметрами: -maxdepth 1
ограничивает поиск текущим каталогом. Иначе это искало бы во всех подкаталогах также. -iname
берет шаблон и нечувствительные к регистру поиски. Сам шаблон 'jre*'
означает, что строка должна начаться с "jre" и продолжения с произвольным числом символов.
, С другой стороны, если Вы хотите использовать grep
:
ls | grep -i '^jre'
-i
поиск без учета регистра переключателей и ^
результаты в нахождении только соответствует "jre" вначале
Находка должна добиться цели:
find . -iname 'jre*'