Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
sh: Sortieren von Strings

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Sonstiges
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Orum
Gast





BeitragVerfasst am: 28. Sep 2004 9:40   Titel: sh: Sortieren von Strings

Hallo,

ich versuche einen String alphabetisch zu sortieren. Also zum Beispiel:

LISTE="Banane Apfelsine Zitrone Orange Apfel Kiwi Gurke Spargel Kartoffel Blaukraut"

sollte dann

Apfel Apfelsine Banane .... ergeben

allerdings:
Code:

echo $LISTE | sort


klappt aber nicht. Der Umweg, die Liste in eine Datei zu schreiben, eine Frucht pro Zeile, und dann zu sortieren und wieder in eine Variable einzulesen klappt zwar, ist mir aber zu unelegant und auch zu umständlich.
Außerdem geht es um ca. 500 Strings, die ich gerne sortieren möchte. Dafür 500 temporäre Dateien anlegen muß nicht sein. Auch nicht in eine Ramdisk.

Gibt es eine shell basierte Möglichkeit ?
 

prospero_p
Gast





BeitragVerfasst am: 28. Sep 2004 11:32   Titel: sort liste

das programm sort sortiert zeilenweise!
deshalb:

LISTE="Banane Apfelsine Zitrone Orange Apfel Kiwi Gurke Spargel Kartoffel Blaukraut"
for s in $LISTE; do echo $s; done |sort

gruss prospero_p
 

Orum
Gast





BeitragVerfasst am: 28. Sep 2004 12:42   Titel:

Ah, danke. Ich wußte nicht, daß man nach den "done" die Gesamtausgabe der Schleife noch weiterbenutzen kann.
Das war mir neu.

Ich hatte "echo $s > /tmp/datei" verwandt für meine eher unelegante Lösung.
 

JochenAlsGast
Gast





BeitragVerfasst am: 28. Sep 2004 14:17   Titel:

Man kann auch die Leerzeichen mittels tr zu Newlines wandeln und die entstandenen Zeilen durch sort sortieren lassen:
Code:
echo $LISTE | tr ' ' '\012' | sort

Jochen
 

rattenkind
Gast





BeitragVerfasst am: 01. Okt 2004 18:36   Titel:

JochenAlsGast hat folgendes geschrieben::
Code:
echo $LISTE | tr ' ' '\012' | sort

Jochen


Hi Jochen,

wo findet man denn eine Übersicht, um diese Zahlencodes zu finden?

ratte
 

jochen
prolinux-forum-admin


Anmeldungsdatum: 14.01.2000
Beiträge: 699
Wohnort: Jülich

BeitragVerfasst am: 01. Okt 2004 22:01   Titel:

Entweder "info tr", "man tr" oder allgemeingültig "man 7 ascii". Die Schreibweise \012 bdeutet für den tr nichts anderes als "das Zeichen mot Oktalwert 12".

Jochen
_________________
Die grösste Lüge der EDV? "Mal eben..."
 
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Sonstiges Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy