Retourner aux forums || Retourner au forum Programmation.shell

Programmation.shell : Commande sort : tri sans délimiteur

Posté par cho7 (page perso, ) le 16 avril 2008
0
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

--
le python, c'est bon
> Lire le message (4 commentaires, moyenne: 1).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

d'apres le man

Posté par NeoX () le 16/04/2008 à 16:39. (lien). Évalué à 2.

man trouvé ici : http://pwet.fr/man/linux/commandes/sort
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

--
Apprendre par les autres, c'est bien.
Apprendre par soi-meme (RTFM, man, et notre ami google) c'est mieux
  • [^]Re: d'apres le man

    Posté par Obsidian () le 16/04/2008 à 16:50. (lien). Évalué à 2.

    D'ailleurs, il ya un bug dans la man-page : on dit "exclue" mais "incluse" ...

    La langue française. Ce sont ses subtilités qui en font la beauté ! :-)

  • [^]Re: d'apres le man

    Posté par cho7 (page perso, ) le 16/04/2008 à 17:03. (lien). Évalué à 1.

    hey, merci, ca semble marcher !

    Ce qui est dingue, c'est que j'ai pas ça dans la manpage de mon sort...

    --
    le python, c'est bon

[+] Quel que soit le langage utilisé

Posté par Axioplase Ashi (page perso, ) le 16/04/2008 à 16:47. (lien). Évalué à -1.

Ta solution est expliquée ici :
http://en.wikipedia.org/wiki/Schwartzian_transform

--
J'aime la liberté.
J'aime BSD.

Revenir en haut de page || Retourner aux forums || Retourner au forum Programmation.shell