Was bewirkt der k-Parameter in der Sortierfunktion (Linux Bash Scripting)?

7

Aus dem Linux-Handbuch: Sortierung über einen Schlüssel; KEYDEF gibt Ort und Typ an.

Ich habe keine Ahnung, was das bedeutet, aber ich sah es so benutzt:

%Vor%

Und dann wieder so:

%Vor%     
user2316667 04.07.2013, 21:52
quelle

2 Antworten

14
  

KEYDEF ist F [.C] [OPTS] [, F [.C] [OPTS]] für Start und Stopp-Position, wobei F eine Feldnummer und C eine Zeichenposition in dem Feld ist; beide sind Ursprung          1, und die Stoppposition ist standardmäßig auf das Ende der Linie eingestellt. Wenn weder -t noch -b wirksam sind, werden Zeichen in einem Feld von Anfang an gezählt          der vorangehende Whitespace. OPTS ist eine oder mehrere einbuchstabige Bestelloptionen [bdfgiMhnRrV], die globale Bestelloptionen für diesen Schlüssel überschreiben.          Wenn kein Schlüssel angegeben ist, verwenden Sie die gesamte Zeile als Schlüssel.

Eine Beispiel-Eingabedatei:

%Vor%

sortiert nach dem ersten Feld:

%Vor%

Gibt:

%Vor%

Das zweite Feld:

%Vor%

Gibt:

%Vor%

Zweite und dritte Ziffer des ersten Feldes:

%Vor%

Gibt:

%Vor%

Letzte Ziffer des zweiten Feldes:

%Vor%

Gibt:

%Vor%     
perreal 04.07.2013, 21:54
quelle
7

In weniger Worten als die Handbuchseite: Sie gibt an, nach welcher "Spalte" die Datei sortiert ist. Wenn die Spaltennummer eine Periode enthält, wird der Wert nach der Periode als Offset innerhalb des Felds verwendet. Zum Beispiel sortiert -k1.2 nach dem zweiten Zeichen der ersten Spalte.

Spalten werden normalerweise durch Tabulatorzeichen begrenzt, aber Sie können dies mit -t ändern. Zum Beispiel würde -t, Spalten verwenden, die durch Kommata getrennt sind (z. B. eine CSV-Datei).

    
duskwuff 04.07.2013 22:34
quelle

Tags und Links