最上位のディレクトリと呼ばれる/dir
サブディレクトリがたくさんあるとしましょう。のサブディレクトリを検索して、/dir
呼び出されたサブディレクトリを見つけるにはどうすればよいx/x/dir/x/x/x/target
ですか?
この質問は、私が探しているものと似ていますが、正確ではありません。特定のサブディレクトリのfindコマンドです。
ファイルを探すのではなく、特定の名前のディレクトリを探します。
最上位のディレクトリと呼ばれる/dir
サブディレクトリがたくさんあるとしましょう。のサブディレクトリを検索して、/dir
呼び出されたサブディレクトリを見つけるにはどうすればよいx/x/dir/x/x/x/target
ですか?
この質問は、私が探しているものと似ていますが、正確ではありません。特定のサブディレクトリのfindコマンドです。
ファイルを探すのではなく、特定の名前のディレクトリを探します。
回答:
echo **/target
または、1行に1つの一致を取得するには:
printf %s\\n **/target
これは、zshでそのまま使用できます。bashでは、shopt -s globstar
最初に実行する必要があります。これにより、ディレクトリへのシンボリックリンクも走査されることに注意してください。ksh93では、set -o globstar
最初に実行する必要があります。
ディレクトリまたはディレクトリへのシンボリックリンクのみに一致させる場合は、末尾に/
(つまり**/target/
)を追加します。zshのでは、ディレクトリではなく、ディレクトリへのシンボリックリンクのみに一致するように、それを作ります**/target(/)
。
どのシェルでも、find
次のコマンドを使用できます。
find . -name target
LinuxおよびCygwinでは、.
はオプションです。ディレクトリのみを照合する場合は、を追加し-type d
ます。