find.md 1.5 KB

find

ディレクトリツリー下のファイルやディレクトリを再帰的に検索します。 もっと詳しく: https://manned.org/find

  • 拡張子でファイル検索する:

find {{ルートパス}} -name '{{*.ext}}'

  • 複数のパス/名前パターンに一致するファイルを検索する:

find {{ルートパス}} -path '{{*/path/*/*.ext}}' -or -name '{{*pattern*}}'

  • 大文字小文字を区別しないモードで、指定された名前にマッチするディレクトリを検索する:

find {{ルートパス}} -type d -iname '{{*lib*}}'

  • 特定のパスを除いて、与えられたパターンにマッチするファイルを検索する:

find {{ルートパス}} -name '{{*.py}}' -not -path '{{*/site-packages/*}}'

  • 与えられたサイズ範囲にマッチするファイルを検索し、再帰的な深さを"1"に制限する:

find {{ルートパス}} -maxdepth 1 -size {{+500k}} -size {{-10M}}

  • 各ファイルに対してコマンドを実行する (ファイル名にアクセスするにはコマンド内で{}を使用):

find {{ルートパス}} -name '{{*.ext}}' -exec {{wc -l}} {} \;

  • 今日変更されたすべてのファイルを検索し、その結果を引数として1つのコマンドに渡す:

find {{ルートパス}} -daystart -mtime {{-1}} -exec {{tar -cvf archive.tar}} {} \+

  • 空のファイルまたはディレクトリを検索し、冗長に削除する:

find {{ルートパス}} -type {{f|d}} -empty -delete -print