ENTRÉE :
$ cat a.txt
1FOO2FOO3
4FOO5FOO5
2FOO1FOO9
$
SORTIE :
$ cat a.txt | sort SOMEMAGIC
2FOO1FOO9
1FOO2FOO3
4FOO5FOO5
$
Question :Comment puis-je trier, si j'ai un délimiteur long de plusieurs caractères ? ("FOO") ?
Dans l'exemple a.txt
est trié par deuxième colonne.
La question est en général, les nombres dans a.txt
pourrait être n'importe quoi.
Réponse acceptée :
Utilisez par ex. sed
pour remplacer la chaîne par un délimiteur à un caractère, trier par colonne, puis remplacer à nouveau le délimiteur :
sed -e s/FOO/X/g a.txt | sort -k 2,2 -t X | sed -e s/X/FOO/g
Cela suppose qu'il existe un caractère dont vous savez qu'il n'apparaît pas dans l'entrée. Un caractère de contrôle serait un candidat courant, mais vous devez faire un choix en fonction de votre connaissance du format d'entrée.