Basicamente, estou procurando arquivos e, em seguida, classificando pelo tamanho. O script funciona se eu não classificar o tamanho por legível por humanos. Mas quero que o tamanho seja legível por humanos. Como posso classificar tamanhos legíveis por humanos?
Por exemplo:
ls -l | sort -k 5 -n | awk '{print $9 " " $5}'
Isso funciona como esperado, eu tenho o tamanho dos meus arquivos em bytes crescente:
1.txt 1
test.txt 3
bash.sh* 573
DocGeneration.txt 1131
andres_stuff.txt 1465
Branches.xlsx 15087
foo 23735
bar 60566
2016_stuff.pdf 996850
Agora, eu quero que o tamanho seja legível por humanos, então adicionei um parâmetro -h a ls e agora alguns arquivos estão fora de ordem:
ls -lh | sort -k 5 -n | awk '{print $9 " " $5}'
1.txt 1
DocGeneration.txt 1.2K
andres_stuff.txt 1.5K
test.txt 3
Branches.xlsx 15K
foo 24K
bar 60K
bash.sh* 573
2016_stuff.pdf 974K
ls
saída
du
vez de ls
pode ser uma boa ideia.
find
's -printf
com a sua %p
e %s
formatadores (seguido por uma ‘humanização’ dos tamanhos).
-k 5
- como isso funciona?