
Ich würde gerne wissen, wie man die vorletzte Spalte sortiert. Vor der Zahl steht das Wort „days=“. Ich kann die Spalte mit awk „{print $(NF-1)}“ abrufen, aber die Sortierung ist falsch.
457000 (test2) && (SGD||RMB||HKD||YEN) days=5000 71
37622 (this is || test1)&&(SGD||HKD||RMB) days=630 40010
43944 (this is)&&(SGD||HKD) days=80 102732
79378 (this is||test2)&&(HKD||RMB) days=800 205425
Das Ergebnis, das ich suche, ist
43944 (this is)&&(SGD||HKD) days=80 102732
37622 (this is || test1)&&(SGD||HKD||RMB) days=630 40010
79378 (this is||test2)&&(HKD||RMB) days=800 205425
457000 (test2) && (SGD||RMB||HKD||YEN) days=5000 71
Antwort1
Ein bisschen umständlich, aber es sollte funktionieren:
awk '{print substr($(NF-1), 6), $0}' file | sort -g | cut -d' ' -f2-
Es dupliziert die vorletzte Spalte vorne (wobei das gelöscht wird days=
), sortiert numerisch und entfernt dann die erste Spalte (die duplizierte vorletzte Spalte).