ディレクトリ内のいくつかのファイルを見つけようとしています。既定では、Find はcommand
私が指定したディレクトリとそのサブディレクトリを検索します。
試してみましたdepth/maxdepth
が、prune
この問題を解決するのには役に立ちませんでした。 Solarisで奥行き/剪定を使用する正しい方法を指摘できる人はいますか?
私のコードは次のとおりです
find file_path -depth 1 -name '*.log'
次のエラーが発生します。
find: bad option 1
find: [-H | -L] path-list predicate-list
答え1
あいまいに似た名前を持つ2つの無関係なオプションを混同しています。
-depth
何の主張も受け入れられませんでした。存在する場合は、find
ディレクトリ自体を処理する前にディレクトリの内容を処理するように指示します。-maxdepth N
(ここで、Nは整数)再帰をNレベルのサブディレクトリに制限します。
この-maxdepth
オプションは一部のバージョンでは拡張ですが、find
Solaris バージョンではそうではありません。再帰なしでディレクトリ操作に標準オプションを使用するfind
方法があります。-prune
つまり、サブディレクトリに使用し、最上位ディレクトリを除外します。最上位ディレクトリを一致させる唯一の方法は名前を基準にすることなので、名前を並べ替えます.
(サブディレクトリの名前ではありません)。
find /directory/to/traverse/. -name . -o \
-type d -prune -o \
-name '*.log' -print