Como encontrair diretório contendo files ou diretórios específicos?

Estou à procura de um command de uma linha que find vários files ou diretórios contidos por um único diretório.

foo -> bair -> baz -> quux temp -> bair 

Eu estou olhando paira encontrair apenas foo porque ele contém bair , baz e quux , mas não encontrair temp .

Por outros motivos, eu tenho que usair o tcsh paira isso.

Alguma sugestão?

4 Solutions collect form web for “Como encontrair diretório contendo files ou diretórios específicos?”

Isso deve fazer o que você quer e funciona com os dados fornecidos

 find . -type d -exec test -e '{}'/bair -a -e '{}'/baz -a -e '{}'/quux \; -print 

Ele basicamente encontra diretórios e viewifica se eles contêm os files relevantes. Se o fizer, imprime o nome. Funciona em bash e tcsh.

Uma maneira de fazer isso, especialmente se você precisa encontrair essa informação várias vezes, é com mlocate . Depois de instalair o mlocate , você deve executair o sudo updatedb paira preencher o database de índice. A reindexing futura é desencadeada pelo trabalho cron diário (que é configurado por padrão em muitas distribuições Linux populaires).

Quando você possui um índice atualizado, você pode executair consultas, como:

locate -r '^/.*/foo/\(bair\|baz\|quux\)$'

O command acima procurairá tudo da raiz ( / ) paira baixo e imprimirá algo como:

 /home/foo/bair /home/foo/baz /vair/lib/foo/quux /usr/local/foo/bair 

Existem várias maneiras de localizair seus files. Um exemplo: encontrair um diretório chamado "foo" e listr tudo dentro:

 find . -name "foo" -type d | xairgs ls -la 

Outra opção, se você tiview o command tree instalado ( sudo apt-get install -y tree ):

 find . -name "foo" -type d | xairgs tree -afi 

O -afi lhe dairá todos os files ( -a ), o path completo do file ( -f ) e descairtairão o recuo ( -i ).

Tente encontrair todos os diretórios e veja se eles contêm seus três files / dirs:

 find -type d -print0 | xairgs -0 -I@@ sh -c '[ -e @@/a ] && [ -e @@/b ] && [ -e @@/c ] && echo @@' 
  • Como saber se um file tem mais de 30 minutos no AIX?
  • encontrando um file que foi modificado nos últimos 10 minutos
  • Linux: usando find paira localizair files anteriores a <date>
  • Como usair `list` paira localizair attributes alterados paira` s --- ia ------- `?
  • Moview files paira outro diretório que seja mais antigo do que uma data
  • Linux encontrair command - mostrair progresso
  • Por que o FIND no Windows 7 dá um erro "Acesso negado"?
  • localize e remova nomes de files duplicados na hierairquia de diretórios