Existe um comando para obter a profundidade máxima da pasta de todo o sistema?

0

Versão resumida: Existe um comando e / ou conjunto de comandos e / ou utilitário para saber qual é a profundidade máxima das pastas no meu sistema de arquivos?

Versão longa: estou no Mac OS X. Gostaria de saber qual é a pasta mais profunda do meu sistema (não me importo com os direitos de acesso). Isso porque desejo iniciar um comando na raiz / e ele será recursivo e não quero que ele seja interrompido (resultados inesperados). Portanto, preciso saber quantos níveis de pastas existem entre / e a pasta mais profunda.

Pesquisei no Google e nos fóruns, mas não consegui encontrar nada conclusivo. Eu li que o sistema de arquivos HFS + que estou usando não tem limite em profundidade, mas talvez haja um limite no tamanho do nome do caminho?

EDIT: Alguém tentou por preenchendo o fs mas é uma solução suja ... Eu gostaria de um "mais limpo", se possível. Na verdade, encontrar a profundidade máxima no meu sistema atual seria suficiente sem testar os limites.

Obrigado pela sua ajuda!

    
por achedeuzot 30.11.2013 / 18:15

2 respostas

2

O seguinte percorre todo o seu sistema de arquivos procurando somente diretórios, remove tudo que não é uma barra (delimitador de item de caminho) e imprime a trilha mais longa (pelo menos no meu sistema, o comportamento de ordenação pode depender da localidade). p>

find / -type d | sed 's|[^/]||g' | sort | tail -n1

Conte as barras resultantes, que são uma para todos os diretórios, exceto o root, portanto, se o caminho do diretório mais profundo for /Users/danielbeck , o resultado será // . Claro, pode haver arquivos nesse diretório.

    
por 30.11.2013 / 20:43
0

maneira mais fácil?

mkdir /a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a

seu diretório mais profundo agora é isso.

menos fácil? Provavelmente algo como:

for i in 'find .'; do echo $i | tr -d -c '/\n' | wc -m >> /tmp/counts; done; sort -nr /tmp/counts | head -n 1

, por exemplo: mostre todos os caminhos de arquivo, retire qualquer coisa que não seja /. Conte quantas foram e mostre o maior número.

algo assim - sinta-se livre para melhorá-lo, com certeza o arquivo / tmp pode ser evitado usando algum tipo de arquivo na memória.

    
por 30.11.2013 / 20:32