The UNIX and Linux Forums  
Bonjour et bienvenu par les États-Unis à la UNIX et Linux Forums! Merci de votre visite et vous joindre à notre communauté mondiale.

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > UNIX for Advanced & Expert Users
.
google unix.com



UNIX for Advanced & Expert Users Expert à Expert. Apprenez avancé UNIX, des commandes UNIX, Linux, les systèmes d'exploitation, d'administration système, de la Programmation, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
L'ordre croissant dans le texte kerpm De programmation et de script Shell 5 08-15-2008 10:39 AM
Affichage des fichiers modifiés dans l'ordre croissant balareddy UNIX for Advanced & Expert Users 1 08-13-2008 06:48 AM
Descendant Ascendant et les numéros d'ordre pravani1 De programmation et de script Shell 6 06-03-2008 08:43 AM
utilisation de sed sur chat de fusionner des fichiers miwinter UNIX for Advanced & Expert Users 2 11-28-2007 01:36 PM
Tri / ordre croissant gyik UNIX pour les nuls Questions et réponses 1 03-05-2001 10:08 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 09-03-2008
user_prady user_prady is offline
Registered User
  
 

Join Date: Sep 2007
Messages: 163
fusionner deux fichiers dans l'ordre croissant

Bonjour amis,

Je tiens à fusionner deux fichiers dans l'ordre croissant sur le premier champ. Et si le premier champ correspond à trier le 3 c'est-à-dire le terrain, TXADDR doit venir devant RXADDR.

file1
Code:
      9 : TXADDR  : 00000000
     65 : TXDATA  0000000000000011
     83 : TXDATA  0000000000000012
    453 : TXADDR  : 00000000
    509 : TXDATA  0000000000000001
    527 : TXDATA  0000000000000002
    879 : TXADDR  : 00000020
     934 : TXDATA  0000000000000011
     953 : TXDATA  0000000000000012
     971 : TXDATA  0000000000000013
file2
Code:
        9 : RXADDR  : 00000001
      65 : RXDATA  0000000000000011
      83 : RXDATA  0000000000000012
     102 : RXDATA  0000000000000013
     453 : RXADDR  : 00000000
     509 : RXDATA  0000000000000001
     527 : RXDATA  0000000000000002
     546 : RXDATA  0000000000000003
     879 : RXADDR  : 00000020
     934 : RXDATA  0000000000000011
     953 : RXDATA  0000000000000012
     971 : RXDATA  0000000000000013
     990 : RXDATA  0000000000000014
Avec le commande ci-dessous-je capable de trier et de fusion sur le premier champ.
Code:
sort -n file1 file2 > file3
En fichier3 je m'attends quand la première colonne correspond elle devrait donner la priorité à la 3e colonne c'est-à-dire RXADDR & RXDATA.
Donc, dans mon cas, la sortie devrait être
Code:
      9 : TXADDR  : 00000000
      9 : RXADDR  : 00000001
    65 : TXDATA  0000000000000011
    65 : RXDATA  0000000000000011
Je ne sais pas comment trier avec plusieurs clés de tri pls proposer une option pour cela. ou de toute autre soln.

Observe,
user_prady

Dernière édition par user_prady; au 09.04.2008 01:17 AM..
  #2 (permalink)  
Old 09-04-2008
Annihilannic Annihilannic is offline Forum Advisor  
  
 

Join Date: Mai 2008
Lieu: Sydney, Australie
Messages: 1009
Les commandes suivantes permettent de trier d'abord par la première clé, numériquement, et puis par la deuxième par ordre alphabétique:

Code:
sort -k1,1n -k2,2 file1 file2 > file3
  #3 (permalink)  
Old 09-04-2008
RahulJoshi's Avatar
RahulJoshi RahulJoshi is offline
Registered User
  
 

Date d'inscription: août 2008
Lieu: PUNE
Posts: 98
utiliser ce code:
tri-n-k 1 my1 MY2
  #4 (permalink)  
Old 09-04-2008
user_prady user_prady is offline
Registered User
  
 

Join Date: Sep 2007
Messages: 163
Citation:
Posté par RahulJoshi View Post
utiliser ce code:
tri-n-k 1 my1 MY2
Merci pour vos aimables réponses, mais à la fois la commande affiche le même que
la commande
Code:
sort -n file1 file2 > file3
Je veux inverser la tendance à la troisième colonne, de sorte que TXADDR / TXDATA vient avant RXADDR / RXDATA lors de la première colonne matches. Les commandes ci-dessus me donne l'inverse ..
  #5 (permalink)  
Old 09-04-2008
dennis.jacob dennis.jacob is offline Forum Advisor  
dj - l'étudiant
  
 

Join Date: Feb 2007
Lieu: Singapour / Bangalore / Cochin
Messages: 596
Code:

Code:
sort -t":" -k1,1n -k2,2 file1 file2
Sortie:
Citation:
9: RXADDR: 00000001
9: TXADDR: 00000000
65: RXDATA 0000000000000011
65: TXDATA 0000000000000011
83: RXDATA 0000000000000012
83: TXDATA 0000000000000012
102: RXDATA 0000000000000013
453: RXADDR: 00000000
453: TXADDR: 00000000
509: RXDATA 0000000000000001
509: TXDATA 0000000000000001
527: RXDATA 0000000000000002
527: TXDATA 0000000000000002
546: RXDATA 0000000000000003
879: RXADDR: 00000020
879: TXADDR: 00000020
934: RXDATA 0000000000000011
934: TXDATA 0000000000000011
953: RXDATA 0000000000000012
953: TXDATA 0000000000000012
971: RXDATA 0000000000000013
971: TXDATA 0000000000000013
990: RXDATA 0000000000000014
  #6 (permalink)  
Old 09-04-2008
user_prady user_prady is offline
Registered User
  
 

Join Date: Sep 2007
Messages: 163
Citation:
Posté par dennis.jacob View Post
Code:

Code:
sort -t":" -k1,1n -k2,2 file1 file2
Sortie:
Oh oh. Je pense que je suis misguiding vous tous.

Désirées à la sortie:
Code:
9 : TXADDR : 00000000
9 : RXADDR : 00000001
65 : TXDATA 0000000000000011
65 : RXDATA 0000000000000011
83 : TXDATA 0000000000000012
83 : RXDATA 0000000000000012
102 : RXDATA 0000000000000013
453 : TXADDR : 00000000
453 : RXADDR : 00000000
509 : RXDATA 0000000000000001
509 : TXDATA 0000000000000001
527 : TXDATA 0000000000000002
527 : RXDATA 0000000000000002
546 : RXDATA 0000000000000003
879 : TXADDR : 00000020
879 : RXADDR : 00000020
....................
......................
merci encore une tonne de votre temps ..

Observe,
user_prady
  #7 (permalink)  
Old 09-04-2008
user_prady user_prady is offline
Registered User
  
 

Join Date: Sep 2007
Messages: 163
Citation:
Posté par Annihilannic View Post
Les commandes suivantes permettent de trier d'abord par la première clé, numériquement, et puis par la deuxième par ordre alphabétique:

Code:
sort -k1,1n -k2,2 file1 file2 > file3
Merci pour votre réponse Mais je tiens à trier inverse pour la deuxième clé ..
Closed Thread

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 03:23 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0