Ich schreibe ein Bash-Skript. Ich habe eine Datei wie dieseEine Datei bis zu einem Zeichen sortieren
./1#1#d41d8cd98f00b204e9800998ecf8427e
./11.txt#2#d41d8cd98f00b204e9800998ecf8427e
./12/1#1#d41d8cd98f00b204e9800998ecf8427e
./12/1#2#d41d8cd98f00b204e9800998ecf8427e
./12/1.txt#1#d41d8cd98f00b204e9800998ecf8427e
./12/1.txt#2#d41d8cd98f00b204e9800998ecf8427e
./12/2.txt#1#d41d8cd98f00b204e9800998ecf8427e
./12/2.txt#2#d41d8cd98f00b204e9800998ecf8427e
./1#2#d41d8cd98f00b204e9800998ecf8427e
./13#2#d41d8cd98f00b204e9800998ecf8427e
./2.txt#1#5d74727d50368c4741d76989586d91de
./2.txt#2#5d74727d50368c4741d76989586d91de
Ich möchte diese Datei sortieren, aber auf eine bestimmte Weise. Lassen Sie uns Zeichen bis zum ersten Abschnitt zwischen den beiden Zeichen Abschnitt zwei aufrufen. So zum Beispiel, eine Zeile wie diese gegeben:
./1#2#d41d8cd98f00b204e9800998ecf8427e
Abschnitt eins: ./1
Abschnitt zwei: 2
Was will ich diese Datei achive ist die Sortierung nach Abschnitt eines ersten und dann nach Abschnitt 2. Was mit diesem Beispiel falsch ist, ist die 9. Zeile, es sollte 2. sein.
Gibt es einen einfachen Weg, dieses Ziel zu erreichen? Ich bin mir nicht sicher, wie ich dieses Problem angehen kann. Vielleicht sollte ich diese Datei irgendwie auf die erste #
und dann wieder nur nach der zweiten Sektion sortieren? Auch wenn das eine gute Antwort ist, nicht sicher, wie es geht.
Erwartetes Ergebnis:
./1#1#d41d8cd98f00b204e9800998ecf8427e
./1#2#d41d8cd98f00b204e9800998ecf8427e
./11.txt#2#d41d8cd98f00b204e9800998ecf8427e
./12/1#1#d41d8cd98f00b204e9800998ecf8427e
./12/1#2#d41d8cd98f00b204e9800998ecf8427e
./12/1.txt#1#d41d8cd98f00b204e9800998ecf8427e
./12/1.txt#2#d41d8cd98f00b204e9800998ecf8427e
./12/2.txt#1#d41d8cd98f00b204e9800998ecf8427e
./12/2.txt#2#d41d8cd98f00b204e9800998ecf8427e
./13#2#d41d8cd98f00b204e9800998ecf8427e
./2.txt#1#5d74727d50368c4741d76989586d91de
./2.txt#2#5d74727d50368c4741d76989586d91de
post das endgültige erwartete Ergebnis – RomanPerekhrest