Thread Komplexer sort (natürliche Sortierung) (13 answers)
Opened by Student87 at 2012-11-23 17:10

Student87
 2012-11-23 17:10
#163583 #163583
User since
2012-11-08
73 Artikel
BenutzerIn
[default_avatar]
Hi!

Sorten nach mehreren Spalten hab ich schon rausbekommen, aber hier komm ich nach ein bisschen rumprobieren und googeln nicht weiter und die Doku zum Thema sort ist für mich nicht greifbar.

Wie mache ich aus

chr10
chr10
chr10
chr10
chrY
chrY
chrY
chr1
chr1
chr1
chrX
chrX
chrX
chrX
chr2
chr2
chr2

kurz und elegant das folgende:

chr1
chr1
chr1
chr2
chr2
chr2
chr10
chr10
chr10
chr10
chrX
chrX
chrX
chrX
chrY
chrY
chrY

Ich habe einen Ansatz probiert, der mir umständlich erschien: zuerst "chr" in ne eigene spalte verfrachten und dann nur die andere spalte betrachten. wenn ich diese andere spalte (wo die zahlen und X/Y drin stehen) jetzt mit $a cmp $b (strings) vergleiche, bekomme ich schonmal am ende X, Y (schön) und die zahlen davor. die zahlen sind aber unsorted. also war meine Idee, um die Zahlen ebenfalls zu sorten sowas wie

$a cmp $b || $a <=> $b

Aber erstens funktioniert das nicht (Warum ist mir ausnahmsweise mal nicht so wichtig aber wenn jemand gerne erklärt, raus damit ;)) und zweitens gefällt mir mein Ansatz generell nicht, weil ich erst für "chr" ne eigene Spalte mache. Das geht doch bestimmt schöner/leichter oder?

modedit Editiert von GwenDragon: Titel ergänzt
Last edited: 2012-11-29 13:49:29 +0100 (CET)

View full thread Komplexer sort (natürliche Sortierung)