Script de tri de caracteres
Le
Olivier Miakinen
Bonjour,
Je cherche à faire un tri de caractères, c'est-à-dire que par exemple la
chaîne FADBEC donnerait ABCDEF, mais aussi que la chaîne CACBAC
donnerait AABCCC.
Savez-vous s'il existe déjà une commande Unix me permettant de le faire,
ou bien auriez-vous une idée pour la construire simplement à partir des
outils standards (sed, awk, perl, etc.) ?
Pour info, tous les caractères sont en ASCII 7 bits, et un tri sur la
valeur des octets conviendrait parfaitement (pas besoin de faire un
traitement particulier sur la distinction majuscules/minuscules par
exemple).
Cordialement,
--
Olivier Miakinen
Je cherche à faire un tri de caractères, c'est-à-dire que par exemple la
chaîne FADBEC donnerait ABCDEF, mais aussi que la chaîne CACBAC
donnerait AABCCC.
Savez-vous s'il existe déjà une commande Unix me permettant de le faire,
ou bien auriez-vous une idée pour la construire simplement à partir des
outils standards (sed, awk, perl, etc.) ?
Pour info, tous les caractères sont en ASCII 7 bits, et un tri sur la
valeur des octets conviendrait parfaitement (pas besoin de faire un
traitement particulier sur la distinction majuscules/minuscules par
exemple).
Cordialement,
--
Olivier Miakinen

Poser une question


Je propose la mauvaise solution suivante :
echo -n poueto | perl -e "print sort split('',<>)"
Cela devrait marcher pour cette classe de caractères, mais ça peut péter
à tout instant : je ne sais pas comment, mais c'est sûrement lié à
l'encodage (essaye avec un accent... chez moi ça casse)
Good luck
N.
;-)
Ça fonctionne sur un mot, oui. Je vais essayer de comprendre comment ça
marche (moi qui ne connais toujours pas le perl) pour l'adapter à des
fichiers de plusieurs lignes.
Probablement parce que tu as un encodage multibyte, très certainement
UTF-8. Si le tri se fait sur les octets au lieu des caractères, c'est
normal que ça casse.
Heureusement pour moi je ne suis pas dans ce cas.
Merci !
Pour faire ça, il y a une instruction : chomp()
--
XAv
In your pomp and all your glory you're a poorer man than me,
as you lick the boots of death born out of fear.
(Jethro Tull)
écrit :
perl -ne 'chomp; print sort split(//), "n"'
Nicolas George
perl -lane 'print sort split //'
--
Paul Gaborit -