Ich habe ein Array das enthält Element wie 1617b, 1516a und dergleichen. Ich möchte die Elemente in absteigender Reihenfolge wiedergeben - das sind die mit den größten Zeichen in ihnen und wenn sie identisch sind mit denen mit größeren Buchstaben. Irgendeine Idee, wie man das macht? Wird ein einfaches "wenn" funktionieren? Wie in:Bash: Wie vergleicht man Strings mit Zahlen und Buchstaben?
if [[ ${array[$j]}>${array[$j+1]} ]]; then
.
.
.
tnx im Voraus
Ich schlage vor, alle nachfolgenden Buchstaben zu entfernen: 'echo" $ {array [$ j]/[a-z] * /} "' – Cyrus
ja, aber ich muss immer noch die Buchstaben überprüfen, wenn ich vergleiche. Ich denke, ich kann nur schneiden (es gibt immer 4 Nummern, dann einen Buchstaben). aber wie vergleiche ich dann buchstaben? weiß die Shell, dass B zum Beispiel größer als A ist? – doronbs11
Wenn es immer genau 4 Ziffern und einen Buchstaben gibt, sollte der lexikographische Vergleich gut funktionieren, Sie müssen ihn nicht in Zahlen und Buchstaben aufteilen. – Barmar