çıktıyı sütuna göre sırala


13

Bu komutu almak istiyorum find -maxdepth 1 -type d | while read -r dir; do printf "%s:\t" "$dir"; find "$dir" | wc -l; done( buradan ). temelde çıktısı olan

./kennel:       11062
./shadow:       15449
./ccc:  9765
./journeyo:     14200
./norths:       10710

ve büyükten küçüğe sayılarla sıralayın. ancak nasıl yapılacağından sortveya farklı bir sütunda ne olursa olsun emin değilim .

Yanıtlar:


27

Hatları birbirine geçirin sort -n -r -k2. En büyükten en küçüğe sıralamak için düzenlendi.


Denedi ve kusursuz çalışıyor
Gert

3

Bir seçenek sütunları çevirmektir:

$ find -maxdepth 1 -type d | while read -r dir; do printf "%d\t%s\n" "`find "$dir" | wc -l`" "$dir"; done

Sonra şöyle çıktı alırsınız:

17  .
1   ./acroread_1000_1002
1   ./.ICE-unix
2   ./.X11-unix
1   ./orbit-mrozekma
2   ./ns.mrozekma.:0

İstediğiniz sort -nrşekilde sıralamak için bunu yapabilirsiniz . Sıralı sonucu awk -F'\t' '{print $2 "\t" $1}', sütunları bu sırayla ihtiyacınız varsa geri çevirmek gibi bir şeyle de yapabilirsiniz .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.