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