web-dev-qa-db-ja.com

フォルダ名を「grep」で検索

Grepを使用すると、特定の正規表現を検索できますが、検索できるのはファイル内だけです。方法はありますか、フォルダ名を検索できますか?

6
kpj

私は通常、findを使用します。

$ find . -name 'FolderBasename*' -type d

またはより複雑なクエリの場合

$ find . -regex '{FolderRegex}' -type d

コメントで指摘されているように、大文字と小文字を区別しない検索が必要な場合は、-inameおよび-iregexを実行してください。

13
AlG

本当にシェルグロブの代わりに正規表現を意味する場合は、使用することができます

_find <path> -regex <regex> -type d_

例えば。

find Code/ -E -regex '(bin|redblack)_tree\.hs' -type d

オプション_-E_は、extendend regexpをオンにします。詳細については、_man find_を参照してください。

6
EdvardM

名前の照合だけに関心がある場合は、検索で '-name'を使用できます。

find <path> -name '<regex>' -type d
0
ssapkota