Как изменить сортировку результата из 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_x:12 data_y:34 data_z:56 data_a:205 data_b:1003 ; 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 ; data_b:1003 data_a:205 data_z:56 data_y:34 data_x:12 

Вы почти там, за исключением того, что вам нужен модификатор r для обратного сортировки:

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

проверьте модификатор r после n .

Вы можете использовать это,

 ~]# 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 ; ~]# 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 ; ~]# 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 ; ~]# 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: