faire un tri en milieu de chaine en shellscript

faire un tri en milieu de chaine en shellscript - Codes et scripts - Linux et OS Alternatifs

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.....
 :heink:  
 


---------------
I love vi editor. it's the best one.
Reply

Marsh Posté le 28-04-2003 à 15:49:07   

Reply

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.


---------------
I love vi editor. it's the best one.
Reply

Marsh Posté le 28-04-2003 à 20:08:47    

vimaster a écrit :

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.
 


 
 
personne pour relever le defi ?


---------------
I love vi editor. it's the best one.
Reply

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à
 

Reply

Marsh Posté le 29-04-2003 à 09:44:29    

Choda Boy a écrit :

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à
 
 


 
oui ça c'est le cas numero 1 (premier post)  
 
mais ça j'arrive à le faire moi aussi


---------------
I love vi editor. it's the best one.
Reply

Marsh Posté le 29-04-2003 à 09:52:07    

j'ai pas compris ce que tu cherche à faire. trier les O ?

Reply

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
 
 
 
 


---------------
I love vi editor. it's the best one.
Reply

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 :p)

Reply

Marsh Posté le 29-04-2003 à 15:32:51    

vimaster a écrit :

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.
 


 
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 :pt1cable:

Reply

Marsh Posté le 30-04-2003 à 07:43:19    

philou_a7 a écrit :


 
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 :pt1cable:  


 
 
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


---------------
I love vi editor. it's the best one.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed