
Estou procurando um comando do Linux para RHEL v6.x
pesquisar uma estrutura de diretório específica no diretório atual.
Embora eu conheça o comando abaixo, que pesquisará um único diretório específico no diretório atual que está funcionando para um único diretório, mas não para a estrutura de diretórios.
Trabalhando:
find /home/dir1/* -name "def"
Não está funcionando:
find /home/dir1/* -name "abc/def"
Eu também tentei o comando abaixo, mas ele também está listando os arquivos dentro deste diretório. Mas não quero listar o arquivo dentro deste diretório. Quero apenas listar o caminho completo de todos os diretórios que possuem essa abc/def
estrutura de diretórios.
locate abc/def/
Alguém pode me ajudar por favor.
Desde já, obrigado.
Responder1
O -name
teste corresponde apenas ao último componente do caminho. Para combinar algo como abc/def
você precisará -path
de:
$ mkdir -p somedir/otherdir/abc/def/ghi
$ find somedir -path '*/abc/def'
somedir/otherdir/abc/def
Responder2
Que tal agora.
find /home/dir1/ -type d | grep 'abc/def'
ou se você deseja listar diretórios até uma certa profundidade.
find /home/dir1/ -maxdepth 2 -type d | grep 'abc/def'
-d - directory
-maxdepth levels of directories below the starting-points.
Responder3
tree <base dir>
-L level
Max display depth of the directory tree.
-P pattern
List only those files that match the wild-card pattern.