faire un tri en milieu de chaine en shellscript - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 28-04-2003 à 16:09:49
bon j'ai trouvé en jouant avec le -k de sort.
parcontre la ou c'est interessant c'est de trouver la solution du meme style sur plusieurs colones
azertyuiop
c'est à dire trier en prioritee premiere la colonne des y
en second ALAFOIS celles de ze
et en troisième celles des o....
notre besoin c'est ça en fait.
Marsh Posté le 28-04-2003 à 20:08:47
vimaster a écrit : bon j'ai trouvé en jouant avec le -k de sort. |
personne pour relever le defi ?
Marsh Posté le 28-04-2003 à 21:52:32
Un truc comme ça :
sort -k2, -k0, mon_fichier
ou sort -k2,3 -k0, mon_fichier
trie sur le troisième champ puis sur le premier
Par contre, j'ai pas linux sous la main donc je ne peux pas être sûr de la commande. Mais sort permet de trier sur un champ pour sur un autre. Voilà
Marsh Posté le 29-04-2003 à 09:44:29
Choda Boy a écrit : Un truc comme ça : |
oui ça c'est le cas numero 1 (premier post)
mais ça j'arrive à le faire moi aussi
Marsh Posté le 29-04-2003 à 09:52:07
j'ai pas compris ce que tu cherche à faire. trier les O ?
Marsh Posté le 29-04-2003 à 11:22:57
minusplus a écrit : j'ai pas compris ce que tu cherche à faire. trier les O ? |
un tri par colonnes
trier par prioritees des colonnes
trier lignes par valeurs dans la colonne 4,5,6 1,2 par exemple
dfghjklm
qsdfghjk
tri prioritaire : fgh + tri secondaire qs
ca fait donc un tri sur les colonnes 4,5,6 si il y a des doublons ca tri parmi les doublons les colonnes 1,2
le mot à trier est contenu dans les 4emes5eme6eme caracteres
mais la ligne doit pas etre modifiée.
1b2n3wee
2b1h1wrr
3b2n3eee
une fois trié comme ça donne donc
2b1h1wrr
3b2n3eee
1b2n3wee
** *** colonnes significatives
Marsh Posté le 29-04-2003 à 15:30:25
ok, c'est pas les "O", c'est les "O??" que tu veux trier ?
(les ?? c'etait un peu deroutant dans le 1er message )
Marsh Posté le 29-04-2003 à 15:32:51
vimaster a écrit : bon j'ai trouvé en jouant avec le -k de sort. |
a priori, si 'sort' est un tri stable (il me semble que c'est le cas) tu fais tes tris successivement dans l'ordre inverse :
d'abord trier o, puis ze puis y et ca doit aller non ?
ou alors j'ai pas encore compris le probleme
Marsh Posté le 30-04-2003 à 07:43:19
philou_a7 a écrit : |
non sort fonctionne si le tri se passe dans l'ordre gauche --> droite
mais si tu tries d'abord la colone 4 et ensuite la colone 3 par exemple ca marche plus du tout
Marsh Posté le 28-04-2003 à 15:49:07
comment trier les O?? dans un fichier ressmamblant à :
AAAAAABBBBOEETTTTTTYYYYYYY
EEEEEERRRROXXUUUUUUIIIIIII
etc....
avec les O?? tjrs à la meme colone
et 2eme cas avec les O?? pouvant etre à une colone variable
comme dans :
AAAABBBBOEETTTTTTYYYYYYY
EEERRROXXUUUUUUIIIIIII
j'ai pas trouvé d'astuce de shell pour le faire....
ça doit pourtant etre tres simple.....
en général je trouve tjrs une solution mais pas aujourd'hui.....
---------------
I love vi editor. it's the best one.