@Benares Das stimmt folglich was du hier zeigst mit
echo "C B A" | sort
denn ein String selbst zu sortieren klappt allein mit sort nicht.
ABER:
Der Befehl mit find und Prüfsumme berechnen liefert ein Ergebnis mit einer Ausgabe von Zeilenumbrüchen "\n".
Diese Ausgabe wird nun sortiert und erst dann der Variablen zugewiesen.
Step by Step damit ihr seht was genau passiert:
1. Es liegen genau 3 Random Dateien in einem Verzeichnis
-rwxrwxrwx 1 root root 10485760 Jun 27 16:06 rndfile1.txt
-rwxrwxrwx 1 root root 10485760 Jun 27 16:06 rndfile2.txt
-rwxrwxrwx 1 root root 10485760 Jun 27 16:06 rndfile3.txt
2. Es wird nur der Befehl find mit dem egrep ausgeführt um die Prüfsummen auszugeben. Das Ergebnis in der Kommandozeile ist wie folgt:
Befehl:
find ./ -type f -exec openssl dgst -md5 {} \; | egrep -o [0-9a-zA-Z]{32}
Ausgabe:
45a84804a7f9f7152911afcd7e8c7b9f
8022dbde82d145705846ad907e5cd507
0c11c1a44cbba628769cc1920d22789c
Ergebnis: Prüfsummen zeilenweise ausgegeben, aber NICHT alphabetisch sortiert!
3. Jetzt hängen wir den
| sort
Befehl hinten an und erhalten:
Befehl:
find ./ -type f -exec openssl dgst -md5 {} \; | egrep -o [0-9a-zA-Z]{32} | sort
Ausgabe:
0c11c1a44cbba628769cc1920d22789c
45a84804a7f9f7152911afcd7e8c7b9f
8022dbde82d145705846ad907e5cd507
Ergebnis: Prüfsummen zeilenweise ausgegeben, dieses mal alphabetisch sortiert!
4. Und wenn wir das ganze in einen Befehl packen und einer Variablen zuweisen und diese im Anschluss Ausgeben erhalten wir:
Befehl:
string1=`find ./ -type f -exec openssl dgst -md5 {} \; | egrep -o [0-9a-zA-Z]{32} | sort`; echo $string1
Ausgabe:
0c11c1a44cbba628769cc1920d22789c 45a84804a7f9f7152911afcd7e8c7b9f 8022dbde82d145705846ad907e5cd507
Ergebnis: Prüfsummen hintereinander getrennt durch Leerzeichen " " ausgegeben, auch wiederum alphabetisch sortiert!
Dabei handelt es sich um einen sortierten String wie auch die Asugabe unter Punkt 3. nur dass jetzt alle Prüfsummen hintereinander durch ein Leerzeichen getrennt ausgegeben werden. Somit entspricht es exakt den gewünschten Anforderungen von
@Alfredo123.