EINGABE:
$ cat a.txt
1FOO2FOO3
4FOO5FOO5
2FOO1FOO9
$
AUSGABE:
$ cat a.txt | sort SOMEMAGIC
2FOO1FOO9
1FOO2FOO3
4FOO5FOO5
$
Frage :Wie kann ich sortieren, wenn ich ein mehrere Zeichen langes Trennzeichen habe? („FOO“)?
Im Beispiel a.txt
wird nach zweiter Spalte sortiert.
Frage ist generell, Zahlen in a.txt
könnte alles sein.
Akzeptierte Antwort:
Verwenden Sie z. sed
Um die Zeichenfolge durch ein Trennzeichen mit einem Zeichen zu ersetzen, sortieren Sie nach der Spalte und ersetzen Sie dann das Trennzeichen wieder:
sed -e s/FOO/X/g a.txt | sort -k 2,2 -t X | sed -e s/X/FOO/g
Dies setzt voraus, dass es ein Zeichen gibt, von dem Sie wissen, dass es nicht in der Eingabe erscheint. Ein Steuerzeichen wäre ein üblicher Kandidat, aber Sie müssen eine Wahl treffen, die auf Ihrer Kenntnis des Eingabeformats basiert.