grep -rc의 출력을 역정렬하는 방법

grep -rc의 출력을 역정렬하는 방법

grep -rc명령의 출력을 정렬 하고 싶습니다 .

현재 다음 명령을 사용하고 있습니다.

grep -rc "Pattern" . | sort -t: -rk2,2n

그러나 목록은 여전히 ​​​​낮음에서 높음으로 정렬되며 높음에서 낮음으로 정렬되지 않습니다. 또한 사용 시 정확한 출력을 인쇄합니다.

grep -rc "Pattern" . | sort -t: -k2,2n

그래서 내가 원하는 것은 출력입니다.

data_x:12 
data_y:34
data_z:56
data_a:205
data_b:1003

로 분류됨

data_b:1003
data_a:205
data_z:56
data_y:34
data_x:12

답변1

r역 정렬을 위해 수정자가 필요하다는 점을 제외하면 거의 완료되었습니다 .

grep -rc "Pattern" . | sort -t: -k2,2nr

r뒤에 수정자를 확인하십시오 n.

답변2

이것을 사용하면 됩니다.

~]# cat test
 data_x:12
 data_y:34
 data_z:56
 data_a:205
 data_b:1003

~]# sort -k2 -n -r -t: test
 data_b:1003
 data_a:205
 data_z:56
 data_y:34
 data_x:12

따라서 코드에 대해 다음을 수행할 수 있습니다.

~]# grep -rc "Pattern" . | sort -k2 -n -r -t:

관련 정보