encontrar alguns arquivos e ordenar o resultado por tamanho e copiá-lo para a pasta

0

bem eu quero usar o cmd "find" para pesquisar alguns arquivos e ao mesmo tempo quero ordenar o resultado por tamanho

sudo find ~ -name $i -exec du -sh {} \; | sort -nr | head -1

Eu usei o cmd "du" para os tamanhos e "classificar" para classificar os tamanhos do maior para o menor, mas não funciona, alguém pode me ajudar, por favor.

E eu quero no final copiar o resultado da minha pesquisa para uma pasta, então usei:

cp ' find ~ -type f -name $i -exec du -sk {} \; | sort -nr | head -1 ' The_Directory

Então, esse eu usei para copiar o arquivo com o tamanho mais alto, mas não funciona.

    
por Neklom 25.05.2014 / 16:01

1 resposta

0

du -h informa sufixos de tamanho legível (K, M, G), mas para classificar você precisa que todas as correções sejam relatadas usando um sufixo de tamanho comum:

find ~ -name "$i" -exec du -sk {} \;|sort -rn

Para extrair o maior:

x=$(find . -name "$i" -exec du -sk {} \;|sort -rn|head -1|sed -e's:[0-9]*::')
cp "$x" ...
    
por bain 25.05.2014 / 16:47