~/tmp
.
Úlohu lze vyřešit relativně snadno, příkazem na jeden řádek. Popíši stručně, jak jsem jej sestavil.
Je zřejmé, že budu potřebovat find
, hledám v home volbou ~
a chci pouze soubory omezením -type f
. Adresář ~/tmp
vyloučím negací cesty k němu ! -path ~/tmp
$ find ~ -type f ! -path ~/tmp
Pro tisknutí výsledků použiji vnitřní příkaz -printf "%kkb %TD %TH:%TM %f\n"
, který vytiskne nalezené výsledky na standartní výstup s formátováním zadaným v uvozovkách. Nejprve vytiskne velikost v kb %kkb
, pak datum %TD
, čas %TH:%TM
, jméno souboru %f
a odřádkuje \n
.
$ find ~ -type f ! -path ~/tmp -printf "%kkb %TD %TH:%TM %f\n"
Výsledky se dále setřídí pomocí sort -k1nr
, kde formát značí třídění podle prvního sloupce, numericky a od největšího k nejmenšímu. Teď už jen jednoduše oříznu prvních 10 příkazem head
. Celkem je tedy příkaz následující:
$ find ~ -type f ! -path ~/tmp -printf "%kkb %TD %TH:%TM %f\n" | sort -k1nr | head