RHEL v6.x
現在、ディレクトリ内の特定のディレクトリ構造を検索するLinuxコマンドを探しています。
以下のコマンドは、現在のディレクトリ内の特定の単一のディレクトリを検索することを理解していますが、これは単一のディレクトリでは機能しますが、ディレクトリ構造では機能しません。
布材:
find /home/dir1/* -name "def"
動作しない:
find /home/dir1/* -name "abc/def"
また、以下のコマンドを試しましたが、そのディレクトリのファイルも一覧表示されますが、そのディレクトリのファイルを一覧表示したくありません。私はabc/def
このディレクトリ構造を持つすべてのディレクトリのフルパスをリストしたいと思います。
locate abc/def/
誰でも私を助けることができますか?
よろしくお願いします。
答え1
テストは-name
最後のパスコンポーネントとのみ一致します。あなたと同じものと一致するには、abc/def
次のものが必要です-path
。
$ mkdir -p somedir/otherdir/abc/def/ghi
$ find somedir -path '*/abc/def'
somedir/otherdir/abc/def
答え2
これはどうですか。
find /home/dir1/ -type d | grep 'abc/def'
または、特定の深さまでディレクトリを一覧表示しようとします。
find /home/dir1/ -maxdepth 2 -type d | grep 'abc/def'
-d - directory
-maxdepth levels of directories below the starting-points.
答え3
tree <base dir>
-L level
Max display depth of the directory tree.
-P pattern
List only those files that match the wild-card pattern.