
Ich möchte die Ausgabe des grep -rc
Befehls sortieren können.
Ich verwende derzeit den Befehl:
grep -rc "Pattern" . | sort -t: -rk2,2n
Die Liste ist jedoch immer noch von niedrig nach hoch sortiert, anstatt von hoch nach niedrig. Außerdem wird die genaue Ausgabe ausgedruckt, wenn Folgendes verwendet wird:
grep -rc "Pattern" . | sort -t: -k2,2n
Was ich also für die Ausgaben möchte, ist:
data_x:12
data_y:34
data_z:56
data_a:205
data_b:1003
sortiert werden in
data_b:1003
data_a:205
data_z:56
data_y:34
data_x:12
Antwort1
Sie haben es fast geschafft, Sie benötigen jedoch den r
Modifikator für eine umgekehrte Sortierung:
grep -rc "Pattern" . | sort -t: -k2,2nr
Überprüfen Sie den r
Modifikator nach n
.
Antwort2
Sie können dies verwenden,
~]# 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
Für Ihren Code können Sie also Folgendes tun:
~]# grep -rc "Pattern" . | sort -k2 -n -r -t: