find
é dada pela ordem das entradas armazenadas no sistema de arquivos.
Você pode considerar escrever um script bash que vá para cada diretório e liste os arquivos necessários.
Eu estou querendo saber se existe uma maneira de executar o comando find
e fazê-lo percorrer os diretórios (recursivamente) em ordem alfabética (ou em ordem inversa)? Eu tenho um monte de diretórios com nomes representando alguma ordem e muitas vezes eu preciso encontrar o mais antigo (ou o último) com base no nome do diretório.
Há perguntas e respostas sobre como classificar os resultados retornados por find
(veja abaixo). No entanto, estou interessado em saber se existe uma maneira de fazer com que find
execute a pesquisa em ordem alfabética, porque seria muito mais eficiente do que percorrer todo o processo e depois classificar.
Idealmente, eu posso especificar o comando para parar depois que n
ocorrências forem encontradas, mas isso é secundário porque eu também posso parar o comando manualmente.
Como obtenho arquivos encontrados pela linha de comando 'find' ordenada pela data de modificação no OS X? link
find
é dada pela ordem das entradas armazenadas no sistema de arquivos.
Você pode considerar escrever um script bash que vá para cada diretório e liste os arquivos necessários.
Você pode tentar:
find -type d -maxdepth 1 | sort -h | xargs find
find -type d -maxdepth 1
lista diretórios, sem recursão. Nós direcionamos a saída para sort -h
, para classificar os resultados de maneira centrada no ser humano. A lista classificada de diretórios é enviada para xargs
, que os utiliza como argumentos da linha de comando para o% final find
, aquele que faz a maioria do trabalho.
Eu sei que você queria evitar a ordenação, mas o AFAIK, find vai passar pelo sistema de arquivos pela ordem do sistema de arquivos.
Espero que isso ajude.