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:

관련 정보