GNU/Linux >> Linux の 問題 >  >> Linux

Posixの検索を特定の深さに制限しますか?

最近、findのPOSIX仕様に気づきました。 -maxdepthを含めないでください プライマリ。

慣れていない人のために、-maxdepthの目的 主なものは、findの深さのレベル数を制限することです 下降します。 -maxdepth 0 結果はのみになります 処理中のコマンドライン引数。 -maxdepth 1 コマンドライン引数などで直接結果を処理するだけです。

非POSIX-maxdepthと同等の動作を得るにはどうすればよいですか。 POSIXで指定されたオプションとツールのみを使用するプライマリ?

(注:もちろん、-maxdepth 0と同等のものを取得できます -pruneを使用するだけです 最初のオペランドとしてですが、それは他の深さには及びません。)

承認された回答:

-pathを使用できます 与えられた深さに合わせて、そこで剪定します。例

find . -path '*/*/*' -prune -o -type d -print

*のように、maxdepth1になります .と一致します 、*/* ./dir1に一致します 、および*/*/* ./dir1/dir2に一致します 剪定されます。絶対開始ディレクトリを使用する場合は、先頭の/を追加する必要があります -path


Linux
  1. 出力の検索を制限し、信号13を回避しますか?

  2. 再帰的なファイルリストの深さを制限するには?

  3. Linux 端末から特定のファイルを見つけるにはどうすればよいですか?

  1. recursive grep:特定のディレクトリを除外します

  2. bashコマンドを使用してフォルダを一覧表示するには?

  3. SSH アクセスを IP アドレスで特定のクライアントに制限する

  1. パターンに一致する特定のファイルを検索する方法は?

  2. Unix / Linuxで特定のユーザーが所有するすべてのファイルを見つける方法は?

  3. Linux で GREP を使用して特定のテキストを検索する方法