Mám velké množství souborů a adresářů v jednom adresáři.
Potřebuji je seřadit podle oprávnění.
Například
drwx------
drwxr-xr-x
drwxr-x---
Jen by mě zajímalo, jestli můžeme třídit soubory a adresáře pomocí ls ?
Přijatá odpověď:
ls nepodporuje přímo řazení podle oprávnění, ale můžete jej zkombinovat s příkazem sort:
ls -l | sort
Můžete použít -k možnost řazení pro zahájení shody od konkrétního znaku, formát je -k FIELD.CHAR , oprávnění jsou prvním polem v ls výstup. Tak např. -k 1.2 bude začínat druhým znakem řetězce oprávnění, který bude ignorovat jakýkoli příznak adresáře / zařízení / odkazu atd., nebo -k 1.5 pro řazení podle skupinových oprávnění.
Pokud nechcete další výstup ls -l , můžete jej odstranit pomocí awk:
ls -l | sort | awk '{ print $1, $NF}'
Tím se vytiskne pouze první pole (oprávnění) a poslední pole (název souboru).