(デフォルト Solaris) find コマンドからディレクトリを除外

(デフォルト Solaris) find コマンドからディレクトリを除外

コマンドからそのディレクトリを除外しようとしています/zonesfind利用可能なGNUはなく、デフォルトのSolarisのみがありますfind

私は次のことを試しました:

find / -type d ! -name zones

問題は、この除外によってサブディレクトリも失われることです/etc/zones

たとえば、完全なディレクトリ名を指定する方法はありますか?

find / -type d ! -name ^\/zones

いくつかの方法でテストしましたが、/文字列の前に含めることはできません。

答え1

移植可能なアプローチは次のとおりです。

find / -type d -exec test {} = /zones \; -prune -o -type d -print

/usr/sfw/bin/gfindGNU findは、使用しているSolarisディストリビューション(たとえば、、、...)に応じて代替ディレクトリで使用できます/usr/gnu/bin/find

関連情報