, wenn eine Datei durch Komma mehrere Spalten, getrennt enthält, wie folgt aus:Was ist der Unterschied zwischen 'sort -k1 file.txt' und 'sort -k1,1 file.txt'?
aaa,1,4,4,5,7
bbb,1,4,9,1,2
Gibt es Unterschied zwischen 'sort -t, -k1 file.txt' und ‚sort -t, -k1,1 Datei. txt'? obwohl mit dem obigen Beispiel, gibt es keinen Unterschied, aber in einigen meiner Projekt Fall hat es hat Unterschied, aber der Unterschied spiegelt sich in dem Fall, dass ich die sortierte Datei zu verbinden, und der Join-Befehl löst Ausnahme aus das 'Join: Datei 2 ist nicht in sortierter Reihenfolge' (zu diesem Zeitpunkt verwende ich 'sort -t, -k1 file.txt'). Später benutze ich 'sort -t, -k1,1 file.txt' und Join-Befehl funktioniert dann gut. Kann mir jemand sagen warum?
Ich habe Ihre Probe versucht, aber wenn ich nicht ‚es‘ Option verwenden, in ‚sort -t, k1, 1 test.txt ', wird auch nach dem linken Schlüssel sortiert, also ist das Ergebnis dasselbe wie' sort -t, -k1 test.txt '. Jetzt bin ich verwirrt, warum ich nur den Schlüssel 1 zum Sortieren angegeben habe, aber wenn der Schlüssel 1 aus zwei Zeilen besteht, wird der Sortierbefehl automatisch nach dem linken Schlüssel sortieren, anstatt sie in die ursprüngliche Reihenfolge zu bringen (weil ohne -s Option?), und das ist nicht was ich will. @Vlad der Impala – jianpx
Deshalb ist das stabile Flag vorhanden :) Wenn Sie nicht angeben, "-s", Sie sind nicht garantiert, eine stabile Art, die Sie suchen, denke ich. Verwenden Sie das Flag "-s", wenn Sie eine stabile Sortierung wünschen. –