Yanıtlar:
Bunu dene:
ls -l | awk '{print $3, $4, $8}' | sort
Dosya adı boşluk içermemesi koşuluyla kullanıcı adını, grup adını ve dosya adını yazdırır. Alternatif olarak şunları yazabilirsiniz:
ls -l | awk '{print $3, $4, $0}' | sort
Bu, kullanıcı adını, grup adını ve tam ls -l
çıktıyı önce kullanıcı adına, sonra grup adına, ardından ls -l
önce ne yazdırırsa yazdırır.
Dağıtımınıza bağlı olarak, gerçek sütun numaralarının farklı olabileceğini unutmayın. SUSE ve coreutils 5.2.1 sürümünde benimkini denedim.
Muhtemelen daha iyi, daha ayrıntılı çözümler vardır, ancak bu en basit olanıdır ve çoğu zaman işe yarayacaktır.
Petersohn'un dediği gibi, şuna benzer bir şey:
ls -l | awk '{print $3, $4, $8, $0}' | sort | column -t
$8
vecolumn -t
güzel baskı içinYa da daha iyisi:
ls -l | sort -k 3
- sahibine göre sıralar ve varsayılan olarak bir sonraki alanı (grubu) vels -l | sort -k 4,4 -k 3
- gruba ve sonra sahibine göre sıralarls -l | sort -k 3,3 -k 8
- sahibine ve daha sonra dosya adına göre sıralarNot: virgül sonlandırıcı alanıdır, bu nedenle 3,3
alan 3'ten 3,5
5'e kadar olan alan 3'te başlar ve biter .