1. ホーム
  2. macos

[解決済み] 特定のパターンに一致するすべてのファイルを再帰的に検索する

2022-03-07 22:45:51

質問

私はこのパターンに一致するすべてのファイルを見つける(より具体的には、数える)必要があります。

*/foo/*.doc

ここで、最初のワイルドカードのアスタリスクは、可変数のサブディレクトリを含みます。

解決方法は?

gnu findでは、正規表現を使うことができます。 -name )はパス全体にマッチします。

find . -regex '.*/foo/[^/]*.doc'

ファイル数だけをカウントする場合。

find . -regex '.*/foo/[^/]*.doc' -printf '%i\n' | wc -l

(その %i フォーマットコードによって find ファイル名と違って、inode 番号は改行などの文字がないことが保証されているので、カウントの信頼性が高くなります。提案してくれた@tripleeeに感謝します)。

OSXで動くかどうかはわからないけど。