Bonjour,

J'ai un problème pour rapprocher deux fichiers ensemble, je m'explique.

Je dispose de deux fichiers avec un même dénominateur commun le second champ de chaque fichier :

Fichier 1 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
4298        10.10.22.12
4114        1.13.28.12
4216        1.130.26.118
4373        10.0.8.92
4133         10.10.16.17
Fichier 2 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
toto 10.10.22.12
tata 1.13.175.12
titi 1.130.26.118
tutu 10.39.8.92
tete 10.10.16.17
Ce que j'aimerais c'est trier les deux fichiers avec le deuxième champs pour créer un fichier comme cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
toto 4298
titi 4216
tete 4133
J'ai essayé avec la commande sort mais les fichiers ne sont pas dans l'ordre attendu :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
join -1 2 -2 2 fichier1.txt fichier2.txt
J'ai donc essayé de trier mes fichiers par ordre croissant mais je me suis aperçu que les deux fichiers ne partagent pas forcément les mêmes adresses IP :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
awk '{print $2}' fichier1.txt | sort -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -5
192.168.62.198
192.168.62.199
192.168.62.200
192.168.62.201
192.168.62.202
 
awk '{print $2}' fichier2.txt | sort -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -5
172.102.198.37
172.102.198.38
172.102.198.39
172.102.198.42
172.102.198.43
Existe-t-il une autre alternative à la commande "join" qui lui semble attendre des fichiers trier ?

Merci par avance,