Aqui está uma abordagem mais geral. Obtenha a saída de du folder e du -h folder em dois arquivos diferentes.
du folder > file1
du -h folder > file2
A parte principal é: concatene file1 e file2 linha por linha, com um delimitador adequado.
paste -d '#' file1 file2 > file3
(assumindo que # não aparece em file1 e file2 )
Agora, classifique file3 . Observe que isso será classificado com base no conteúdo file1 e nas quebras por file2 contents. Extraia o resultado relevante usando cut :
sort -n -k1,7 file3 | cut -d '#' -f 2
Veja também man sort para outras opções.
Você também pode salvar isso como um alias, para posterior reutilização. Para fazer isso, adicione o seguinte ao final de ~/.bashrc :
sorted-du () {
paste -d '#' <( du "$1" ) <( du -h "$1" ) | sort -n -k1,7 | cut -d '#' -f 2
}
Em seguida, abra uma nova sessão de terminal e execute seu novo alias:
sorted-du /home