Linux では、find コマンドの "-prune" パラメータを使用して、ファイルを検索するときに、指定したサブディレクトリを検索しないようにできます。find コマンドは、指定したディレクトリ内のファイルを検索するために使用されます。パラメータが「-prune」に設定されている場合は、無視するパス パラメータが検索パスの直後に続く必要がある限りフィルタリングできます。そうでない場合、パラメータは機能しません。構文は「検索パス-パス サブディレクトリ パスが見つからない」です。 -プルーン..."。
#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。
Linux find で検索する場合、特定のディレクトリを無視して検索しないことが必要な場合があります。 -prune パラメータを使用してフィルタリングできます。ただし、無視するパス パラメータは検索されたパスの直後になければならないことに注意してください。そうでない場合、このパラメータは機能しません。
例は次のとおりです。
以下は、/home/carryf ディレクトリ内のすべてのファイルを指定して検索しますが、/home/carryf/ へのパスは含まれません。 astetc は無視されます:
find /home/carryf -path "/home/carryf/astetc" -prune -o -type f -print
ファイル名で検索すると、次のようになります:
find /home/carryf -path "/home/carryf/astetc" -prune -o -type f -name "cdr_*.conf" -print
3 つ以上のパスを無視したい場合はどうすればよいですか?
find /home/carryf −path"/home/carryf/astetc"−o−path"/home/carryf/etc" -prune -o -type f -print find /home/carryf −path"/home/carryf/astetc"−o−path"/home/carryf/etc" -prune -o -type f -name "cdr_*.conf" -print
前後にスペースがあることに注意してください。
ファイルの内容を検索するには、次のステートメントでスペースを含むディレクトリの問題を解決できます。
find ./ -name "MySQL*" -print0 |xargs -0 grep "SELECT lead_id FROM vicidial_list where vendor_lead_code"
ディレクトリにスペースがない場合は、次の形式で実行できます。
find ./ -name "mysql*" |xargs grep "SELECT lead_id FROM vicidial_list where vendor_lead_code"
拡張知識
Linux の find コマンドは、指定されたディレクトリ内のファイルを検索するために使用されます。パラメータの前にある文字列は、検索対象のディレクトリの名前として扱われます。パラメータを何も設定せずにこのコマンドを使用すると、find コマンドは現在のディレクトリ内のサブディレクトリとファイルを検索します。見つかったすべてのサブディレクトリとファイルが表示されます。
構文
find path -option [ -print ] [ -exec -ok command ] {} \;
パラメータの説明:
find は、次のルールに従ってパスと式を決定します。コマンド ラインの最初のもの - ()、! の前の部分は次のとおりです。 path. の後に式が続きます。 path が空の文字列の場合は、現在のパスが使用され、expression が空の文字列の場合は、デフォルトの式として -print が使用されます。
式で使用できるオプションは 20 ~ 30 個ありますが、ここでは最も一般的に使用されるオプションのみを紹介します。
-mount、-xdev: 指定されたディレクトリと同じファイル システムにあるファイルのみをチェックし、他のファイル システムにあるファイルのリストを避けます
-amin n: 過去 n 分間の読み取り
-newer file: file file
-atime n: 過去 n 日間に読み取られたファイル
-cmin n: で変更されたファイル過去 n 分
-cnewer file: ファイルより新しいファイル file
-ctime n: 過去 n 日間に作成されたファイル
-mtime n: 過去に変更されたファイルn 日
-empty: 空のファイル -gid n または -group name: gid が n またはグループ名が name
- ipath p, -path p: パス名が p と一致するファイル、ipath は大文字と小文字を無視します。
-name name、-iname name: ファイル名が name と一致するファイル。 iname は大文字と小文字を無視します
-size n: ファイル サイズは n 単位で、b は 512 バイトのブロックを表し、c は文字数を表し、k はキロバイトを表し、w は 2 バイトを表します。
-type c: ファイルの種類は c です。
推奨学習: Linux ビデオ チュートリアル
以上がLinux の find が指定されたサブディレクトリを検索しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。