it-swarm-ko.tech

열별로 출력 정렬

이 명령을 받고 싶습니다 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 또는 다른 열에서 작동하는 방법을 잘 모르겠습니다.

13
xenoterracide

sort -n -r -k2를 통해 줄을 연결합니다. 가장 큰 것에서 가장 작은 것 순으로 정렬하도록 편집되었습니다.

27
W_Whalley

한 가지 옵션은 열을 뒤집는 것입니다.

$ 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}'와 같은 것으로 파이프하여 필요한 경우 열을 순서대로 뒤집을 수도 있습니다.

3
Michael Mrozek