Bitte erklären Sie, wie der Sortierbefehl unter Unix verwendet wird

Bitte erklären Sie, wie der Sortierbefehl unter Unix verwendet wird

Ich bin neu bei UNIX. Bitte erklären Sie sortden Befehl. Ich habe Zweifel bezüglich des Sortierfeldtrennzeichens. Beispiel: sort -k2, 2 filename, Bitte erläutern Sie. Bitte geben Sie ein kleines Beispiel.

Antwort1

Es liegt ein Syntaxfehler vor . sort -k2, 2 filenameIn der Option darf kein Leerzeichen als Trennzeichen vorkommen -k2,2. Darüber hinaus würde es eine mögliche Quelle von Verwirrung und/oder Fehlern (je nach Inhalt der zu sortierenden Datei) beseitigen, dem Befehl entweder eine Wörterbuchreihenfolge oder eine numerische Sortieroption hinzuzufügen, um deutlich zu machen, wie die Dinge sortiert werden sollen.

Beispiele

cat unsorted-file.txt # original unsorted file
9 8 7
6 55 44
3 2 1

sort -k1 -n unsorted-file.txt # example 1
3 2 1
6 55 44
9 8 7

sort -k3 -n unsorted-file.txt # example 2
3 2 1
9 8 7
6 55 44

sort -k1,3 -n unsorted-file.txt # example 3
3 2 1
6 55 44
9 8 7

sort -k2,3 -n unsorted-file.txt # example 4
3 2 1
9 8 7
6 55 44

Erläuterung

Standardmäßig ist der Feldtrenner ein Übergang von Nicht-Leerzeichen zu Leerzeichen.
KEYDEF -kist F[.C][OPTS][,F[.C][OPTS]] für Start- und Stoppposition, wobei F eine Feldnummer und C eine Zeichenposition im Feld ist. Beide sind Ursprung 1 und die Stoppposition ist standardmäßig das Zeilenende.
-k1- erstes Feld
-k3- drittes Feld
-k1,3- erstes Feld starten, drittes Feld stoppen
-k2,3- zweites Feld starten, drittes Feld stoppen
-n- Vergleichen nach Zeichenfolge, numerischem Wert

verwandte Informationen