Command-Line
按列排序輸出
我想接受這個命令
find -maxdepth 1 -type d | while read -r dir; do printf "%s:\t" "$dir"; find "$dir" | wc -l; done
(從這裡)。其輸出基本上為./kennel: 11062 ./shadow: 15449 ./ccc: 9765 ./journeyo: 14200 ./norths: 10710
並按從大到小排序。但我不確定如何製作
sort
,或者在不同的列上進行任何操作。
管道通過
sort -n -r -k2
。編輯為從大到小排序。
一種選擇是翻轉列:
$ find -maxdepth 1 -type d | while read -r dir; do printf "%d\t%s\n" "`find "$dir" | wc -l`" "$dir"; done
然後你會得到這樣的輸出:
17 . 1 ./acroread_1000_1002 1 ./.ICE-unix 2 ./.X11-unix 1 ./orbit-mrozekma 2 ./ns.mrozekma.:0
您可以通過管道
sort -nr
按您想要的方式對其進行排序。awk -F'\t' '{print $2 "\t" $1}'
如果您需要按順序將列翻轉回來,您甚至可以通過管道傳遞排序結果