Bonjour,
je cherche à trier un fichier non pas en fonction de colonne (je n'ai pas de délimiteur), mais en fonction de plusieurs zone à position longueur fixe
Sauf que la commande sort ne semble pas faire ce que je veux, puisqu'elle attend un délimiteur (par défaut la tabulation je crois)
J'ai donc essayé de ruser un peu, en lui disant que je n'avais qu'une seule colonne, et donc de filtrer sur des caractères de cette colonne, mais ca ne marche pas non plus, il tri tout le fichier en ignorant mes clés
J'utilise la syntaxe suivante :
sort --key=1.40,1.45 pas_tri.txt > tri.txt
(Là, j'espérais trier mon fichier en fonction des caractères situés entre 40 et 45)
Bref, j'ai l'impression d'avoir lu toute la manpage, donc si quelqu'un à la solution surement très bête à mon problème, je suis preneur, sinon j'vais devoir coder un ptit bout de code en python ou perl, et ca m'embête un peu préfèrerai rester en commande shell
# d'apres le man
Posté par NeoX . Évalué à 2.
en faisant "man sort" dans google
+POS1 [-POS2]
Indiquer un champ à utiliser comme clé de tri pour chaque ligne. Le champ consiste en une portion de de ligne débutant à la position POS1, et s'étendant jusqu'à POS2 non-inclue (ou jusqu'à la fin de la ligne si POS2 n'est pas mentionnée). Les positions des champs et des caractères sont numérotées à partir de 0.
ta ligne devrait etre
sort +0 -45 -o tri.txt pas_tri.txt
pour trier en se basant sur les 46 premiers caracteres
[^] # Re: d'apres le man
Posté par Obsidian . Évalué à 2.
La langue française. Ce sont ses subtilités qui en font la beauté ! :-)
[^] # Re: d'apres le man
Posté par cho7 (site web personnel) . Évalué à 1.
Ce qui est dingue, c'est que j'ai pas ça dans la manpage de mon sort...
# Quel que soit le langage utilisé
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à -1.
http://en.wikipedia.org/wiki/Schwartzian_transform
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.