Nach uniq sortieren, dann nach endgültiger Reihenfolge sortieren:
cat originalFile.txt | awk -F "," '' | sort | uniq -c | sort -n
Ich habe eine Datei, die so aussieht:
"string",192.168.1.0,,TX,192.168.1.2,,,100,0,0,10,10,10,, "string",192.168.1.0,,TX,192.168.1.1,,,100,0,0,10,10,10,, "string",192.168.1.0,,TX,192.168.1.4,,,100,0,0,10,10,10,, "string",192.168.1.0,,TX,192.168.1.2,,,100,0,0,10,10,10,,
Mit diesem Befehl erwarte ich, dass er die zweite IP-Adresse abruft und im Wesentlichen auflistet, wie oft diese IP in dieser Datei aufgeführt ist.
cat originalFile.txt | awk -F "," '' | sort | uniq -c > outputFile.txt
Dies wird falsch sortiert. Die Ausgabedatei soll wie folgt aussehen (geordnet nach der ersten Spalte)
1 192.168.1.1 1 192.168.1.4 2 192.168.1.2
Ich habe versucht, den Sortierabschnitt in zu ändern
sort -n -k1
Ich denke, das Problem ist, dass ich sortiere, bevor es uniq ausführt, aber jede andere Reihenfolge scheint den Prozess zu durchbrechen. Im Moment ist mein Fix, zwei Befehle wie diese auszuführen.
cat originalFile.txt | awk -F "," '' | sort | uniq -c > outputFile1.txt sort -n -k1 outputFile1.txt > outputFile2.txt
Offensichtlich ist die Verwendung einer temporären Datei nicht ideal, und ich bin mir sicher, dass ich die Datei nur geringfügig ändern und in eine andere Reihenfolge bringen muss. Jede Hilfe wird geschätzt.
Nach uniq sortieren, dann nach endgültiger Reihenfolge sortieren:
cat originalFile.txt | awk -F "," '' | sort | uniq -c | sort -n