我希望能够对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: