如何对 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:

相关内容