Eficientemente encontrando o primeiro arquivo (no sentido léxicográfico) entre vários diretórios -- find campo com sort camp askubuntu Relacionado O problema

Efficiently finding the first file (in the lexicographical sense) among multiple directories


1
vote

problema

português

Eu tenho centenas de pastas e cada pasta contém milhares de arquivos. Eu quero identificar o arquivo "primeiro" entre todos os arquivos de todas as pastas, "primeiro" sendo definido pela ordem lexicográfica dos nomes de arquivos (excluindo caminhos). Por exemplo:

  /a/abc.txt /b/aac.txt /b/bxz.txt    

Então o resultado deve ser aac.txt .

Atualmente estou usando isto:

  find . -iname "*" -printf "%f " | sort | head    

Mas é bastante lento. Existe uma solução melhor?

english

I have hundreds of folders and each folder contains thousands of files. I want to identify the "first" file among all files of all folders, "first" being defined by the lexicographical order of the filenames (excluding paths). For example:

/a/abc.txt /b/aac.txt /b/bxz.txt 

Then the result should be aac.txt.

I am currently using this:

find . -iname "*" -printf "%f\n" | sort | head 

But it is quite slow. Is there a better solution?

     
   
   

Lista de respostas

1
 
vote

Eu não acho que você pode tornar muito mais rápido como você precisa primeiro obter a saída de find qual é a operação mais longa e só então canalizá-lo através abcdefghijklmn4 e head .

e se você está sequer considerando colocar algum código juntos para fazer isso funcionar mais rápido, acho que a melhoria (se houver) sobre o uso find seria insignificante quando comparado ao tempo necessário para Escreva e torne-o mais eficiente do que find .

A menos que isso seja algo que você faz regularmente e o conjunto de dados é enorme (milhares não é que muitos), eu não gastaria meu tempo sobre ele se eu fosse você.

 

I don't think you can make it much faster as you need to first get the output of find which is the longest operation and only then pipe it through sort and head.

And if you're even considering putting some code together to make it run faster, I think the improvement (if any) over using find would be negligible when compared to the amount of time required to write it and make it more efficient than find.

Unless this is something you do regularly and the dataset is huge (thousands isn't that many), I wouldn't spend my time on it if I were you.

 
 

Perguntas relacionadas

0  Classificando não está funcionando no Ubuntu  ( Sorting not working in ubuntu ) 
Eu estou executando script de classificação para o arquivo existente no Ubuntu usando o script de tigela: sort -r -k 2 -o mayflies.txt Mas o terminal t...

22  Como eu classifico por tamanhos legíveis humanos numericamente?  ( How do i sort by human readable sizes numerically ) 
Por exemplo, eu tenho comando que mostra quanta pasta espacial leva du folder | sort -n Funciona ótimo, no entanto, gostaria de ter uma forma legível h...

2  Posso / como classificar títulos por resolução no aplicativo VLC, MPlayer ou similar? [fechado]  ( Can i how do i sort titles by resolution in vlc mplayer or similar app ) 
. Esta questão é improvável que ajude a futuros visitantes; Só é relevante para uma pequena área geográfica, um momento esp...

0  Comando de classificação de execução no terminal  ( Run sort command in terminal ) 
Eu tenho este arquivo: root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbi...

7  Como faço para classificar pastas pelo tamanho real, em vez de quantidade de sub-pastas ou arquivos  ( How do i sort folders by actual size instead of amount of sub folders or files ) 
Eu sou muito novo com o Ubuntu, então leve mais fácil em mim. Este é o "problema" (recurso?) Que estou experimentando. Ele classifica a quantidade de pas...

0  Como faço para forçar uma classificação de pasta para minha música baixada no ritmo  ( How do i force a folder sort for my downloaded music on rhythmbox ) 
Quando importa música de uma fonte externa, ela classifica-a nas pastas agradáveis ​​e organizadas pelo artista - álbum, mas quando eu importa música de downl...

13  Nautilus classifica a coluna de nome "misteriosamente". Como posso alterar a sequência de agrupamento?  ( Nautilus sorts the name column mysteriously how can i change the collating se ) 
O que eu descrevo aqui não é sobre um problema com meu nautilus. (é o comportamento padrão) Eu entendo porque Nautilus classifica o nome -column (ascend...

0  Classificando fotos por nome-coluna "Data de registro" com Nautilus  ( Sorting pictures by name column record date with nautilus ) 
Eu uso o Ubuntu 12.04 lts alguns dias agora e eu gosto de tirar fotos :-). Até agora, eu carrego todas as minhas fotos no meu sistema Ubuntu (aproximadamente ...

3  Ordenar a saída de arquivo / pasta no bash  ( Sort file folder output in bash ) 
Eu tenho saída como este (alfanumérico): bash /etc/file bash /etc/filenew bash /etc/skel/ bash /etc/skel/file bash /etc/skel/filenew bash /etc/skel/new/bac...

4  Ordenar o comando não funciona como pretendido em números  ( Sort command not working as intended on numbers ) 
Aqui está minha lista.txt: a 100 b 300 A 50 e 75 1 10 Eu corri o comando abaixo: sort -k2,2 list.txt É isso que recebi: 1 1...




© 2022 pergunte.org All Rights Reserved. Casa de perguntas e respostas todos os direitos reservados


Licensed under cc by-sa 3.0 with attribution required.