検索実行中にディレクトリを無視する方法は?たとえば、次のようなものがあります。
.
├── fold
│ └── something
└── something
折りたたみ/何か- 目次 。 /何- 文書
私ははいfind . -name "something"
、私はそれを無視しません。折りたたみ/何かディレクトリだから
ベストアンサー1
でテストします-type d
。でテストの意味を変えます!
。
だから:
find . -name something ! -type d
something
現在のディレクトリまたはその下で呼び出されたすべてを見つけることができますが、何も報告しません。目次呼ぶsomething
。
具体的に無視するには、./fold/something
否定的な-path
テストを使用してください。
find . -name something ! -path ./fold/something
テストに使用するパス名は、-path
最上位検索パス().
のフルパスと一致する必要があります。
find
名前付きディレクトリのレポートを停止し、something
そのディレクトリに入らないようにするには、次の手順を使用します-prune
。
find . \
-name something -type d -prune -o \
-name something -print
または等しく、
find . -name something \( -type d -prune -o -print \)
これにより、まずsomething
検索ツリーで呼び出され、見つかったすべてのディレクトリがクリーンアップされます。現在確認されているパスがという名前のディレクトリではsomething
なくという別のディレクトリである場合は、something
そのパスを印刷します。ファイルタイプに関係なく(検索ツリーから削除されたため)、something
以下で呼び出された項目は見つかりません。./fold/something
./fold/something