除外する方法をいくつか試しました。。図書館私のホームディレクトリで何かを見つけようとすると、ディレクトリが表示されますが、find
とにかく多くの行が印刷されます。「許可が拒否されました」~から図書館目次。
それで作ったSudoそしてから根しかし、何も役に立ちません。私は-prune
、、-not -path
そして次を使ってみましたgrep -v
。
find . -name "*kate*" ! -path /Users/yves/Library
find . -name "*kate*" -path "*Library*" -prune -o -print
find . -name "*kate*" -not -path "./Library/*"
find . -name "*kate*" | grep -v Library
私は何が間違っていましたか?
ベストアンサー1
現在の作業ディレクトリ内のディレクトリをfind
繰り返したくないようです。この場合、次のようになります。Library
find . -path ./Library -prune -o -name '*kate*' -print
Library
現在作業ディレクトリ(下.
)にあるディレクトリだけでなく、整理したいディレクトリの場合:
find . -name Library -prune -o -name '*kate*' -print
これにより、! -path './Library/*'
findはパスがパターンに一致するファイルを選択しないように指示しますが、ディレクトリとそのサブディレクトリを参照しようとするfind
試みを中断しません。ディレクトリツリーのナビゲーション方法に./Library
影響を与える唯一の述語は非標準述語です(広くサポートされていますが)。find
-prune
-maxdepth
-depth
-delete
(そして暗黙的に非標準-depth
)は、巡回順序に影響を与え(該当する四半期前に出る)、-prune
無効化を引き起こします。-follow
オプションで置き換えられたものは、ディレクトリにドロップされたシンボリックリンクを-L
表し、ナビゲーションにも影響します。find