findコマンドが指定されたディレクトリを除外していないようです。

findコマンドが指定されたディレクトリを除外していないようです。

このfindコマンドはディレクトリの除外を許可する必要があります。次のコマンドを試しました。

find -name "clang" -not -path "./mnt/*

まだディレクトリを検索しています。私が逃したものは何ですか?

find -not -path の出力

答え1

-not -path './mnt/*'(または)を使用してもそのディレクトリに降りるのを! -path './mnt/*'防ぐわけではなく、ただディレクトリにある名前では何もしないという意味にすぎません。findmnt

findディレクトリを完全に無視するには、次のようにします-prune

find . -type d -name mnt -prune -o -type f -name clang -print

または

find . -path ./mnt -prune -o -type f -name clang -print

最初の選択項目をスキップします。どの mntディレクトリであり、2番目のディレクトリは最上位ディレクトリをスキップします。

答え2

一重引用符を使用してください。

find -name "clang" -not -path './mnt/*'

関連情報