Classificação por tamanho [duplicado]

7

Quando eu corro

ls | sort -S

Eu obtenho

sort : option requires an argument -- ´S´

Por que não consigo classificar a lista dos meus arquivos com a opção de classificação por tamanho? Eu sei que posso usar somente o comando ls sozinho.

    
por c023 31.10.2014 / 10:43

2 respostas

12

Primeiro de tudo, o comando ls tem a opção -S

De man ls

-S     sort by file size

Então, o comando adequado é:

ls -S

O comando sort é para classificar linhas de arquivo de texto:

De man sort :

-S, --buffer-size=SIZE
              use SIZE for main memory buffer

SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000).

É por isso que você está recebendo um erro: sort : option requires an argument -- ´S´ . Use ls -S para classificar o arquivo por tamanho!

    
por 31.10.2014 / 10:48
2

Você também pode usar o comando du com alguns argumentos e usar sort

Eu uso o seguinte:

$ du -hsc /path/to/file

De man du

-h, --human-readable
      print sizes in human readable format (e.g., 1K 234M 2G)
-s, --summarize
      display only a total for each argument

-c, --total (I USE IT FOR EXTRA INFO)
      produce a grand total

Para ordenar

$ du -hsc /path/to/file | sort -h

De man sort

-h, --human-numeric-sort
      compare human readable numbers (e.g., 2K 1G)
    
por 25.08.2015 / 16:50

Tags