Linux findコマンドにおける-path-pruneパラメータの役割の詳細
Linuxの下でfindコマンドには様々な検索方法がありますが、findコマンドに-path-pruneパラメータを加えるとどうなりますか?次はfindコマンドの-path-pruneの使い方を紹介します。
現在のディレクトリの下でファイルが検索され、現在のディレクトリの下にdir 0、dir 1、dir 2を含む多くのファイルおよびディレクトリ(多層ディレクトリ)がある場合。等目次及びdir 00,dir 01.dir10、dir11.。。等子目次
1. 現在のディレクトリの下ですべてのtxt接尾辞ファイルを検索find 。/ -name *.txt
2.現在のディレクトリのdir 0ディレクトリおよびサブディレクトリの下でtxt接尾辞ファイルを検索find 。/ -path ‘。/dir0*’ -name *.txt
3.現在のディレクトリのdir 0ディレクトリの下のサブディレクトリdir 00とそのサブディレクトリの下でtxt接尾辞ファイルを検索find 。/ -path ‘*dir00*’ -name *.txt
4.dir 0およびサブディレクトリ以外のディレクトリでtxt接尾辞ファイルを検索するfind 。/ -path ‘。/dir0*’ -a -prune -o -name *.txt -print
説明:-aはandの略であり、論理演算子‘または’(&&);oはorの略であるべきで、論理演算子‘と’(|)、-notは非を表す。
コマンドラインの意味は、ディレクトリdir 0が存在する場合(すなわち、-aの左側が真である)、-pruneの値を求める、-pruneは真を返し、‘和’論理式は真(-path’。/dir 0*’-a-pruneは真である)、findコマンドはこのディレクトリ以外のディレクトリの下でtxt接尾辞ファイルを検索して印刷する。ディレクトリdir 0が存在しない場合(すなわち、-aの左側が偽)、値-pruneが求められず、論理式が偽である場合、現在のディレクトリの下でtxt接尾辞ファイルがすべて検索されます。
5.dir 0、dir 1およびサブディレクトリ以外のディレクトリでtxt接尾辞ファイルを検索するfind 。/ \( -path ‘。/dir0*’ -o -path ‘。/dir1*’ \) -a -prune -o -name *.txt -print
注:カッコ()は式の結合を表します。すなわちshellが後の文字を特別に解釈せず、findコマンドにその意味を説明するように残すことを示す。コマンドラインは丸カッコを直接使用できないため、反スラッシュ''で回転する必要があります(すなわち、''の回転文字でコマンドラインに丸カッコを認識させる必要があります)。同時に「(」,「)」の両方にスペースが必要であることに注意してください。
6.dir 0、dir 1およびサブディレクトリの下でtxt接尾辞ファイルを検索するfind 。/ \( -path ‘。/dir0*’ -o -path ‘。/dir1*’ \) -a -name *.txt -print
+1. dir_という名前でGeneralのディレクトリの下でtxt接尾辞ファイルを検索
find 。/ -path ‘*/dir_general/*’ -name *.txt -print
Linuxの下でfindコマンド-path-pruneの使い方をご紹介しましたが、アップロードできます。findの組み合わせ-path-pruneパラメータは6種類の検索方法を生み出すことができ、特定の検索が必要なユーザーの要求を満たしているので、急いで試してみましょう。