При использовании grep вы можете искать определенное регулярное выражение, но только внутри файла. Есть ли способ, я могу искать имя папки?
4 ответа
10
Я обычно использую find:
$ find . -name 'FolderBasename*' -type d
или для более сложных запросов
$ find . -regex '{FolderRegex}' -type d
Как указано в комментариях, если вы хотите, чтобы поиск без учета регистра делал -iname и -iregex
6
Если вы действительно имеете в виду регулярное выражение вместо shellglob, вы можете использовать
find <path> -regex '<regex>' -type d
например.
find Code/ -E -regex '(bin|redblack)_tree\.hs' -type d
опция -E
включает регулярное выражение extendend, смотрите man find
для получения дополнительной информации.
0
Если вас просто интересует соответствие имени, вы можете просто использовать ' -name ' в find.
find <path> -name '<regex>' -type d
-1
найти гораздо лучше, но неуклюжий ответ на ваш вопрос:
ls -l | grep '^d'