Comparer 2 fichier

Résolu/Fermé
julessh - Modifié par julessh le 17/06/2015 à 11:15
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 - 17 juin 2015 à 15:47
bonjour,

voila j ai mon code :

#!/bin/bash
#set -x

mon_fichier="/home/jules/file_work.txt";
#echo $mon_fichier;
#cat $mon_fichier;
#exit 0;

#je mets le résultat de la commande dans le fichier file_work.out en ecrasant tout ce qu'il y avait avant
#cat $mon_fichier | awk '{ print $1, $6}'>file_work.out

#je récupère le contenu et le mets dans un tableau
out="/home/jules/file_work.out";
#################################################################
#-----j'affiches toutes mes valeurs du fichier-----------------#
while read aLine ;do listeProgs[$i]="$aLine"; ((i++));
echo "$aLine";
done < /home/jules/file_work.out;
#####################################################################
#--------------------------------------------------------------#
#je mets dans file_work.out la colone du datastore + la machine#

cat $mon_fichier | awk '{ print $1, $6}'>file_work.out
#################################################################
#----je trie par ordre décroissant le contenu de File_work-----#

cat ./file_work.out | awk '{ print $1, $2}' | sort -k 2r,2 > file_outunique.out
#####################################################################
#je mets dans un fichier pour la futur comparaison#
cat file_outunique.out | awk '{ print $1, $2}' | sort $2 -u > ledernier.out
##################################################################

je voudrais garder les uniques pour la colone $2 et afficher la colone $1 concordant avec $2 après avoir fait le sort

voila merci mon code marche jusque la mais si vous avez des idées pour l optimiser je prends :)
je suis un novice en programmation shell
A voir également:

1 réponse

dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
17 juin 2015 à 13:21
hello
montre un exemple de donnée
0
problème résolu merci quand meme juste a faire
: sort -k 2 -u file_outunique.out > ledernier.out
0
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
17 juin 2015 à 15:47
pas besoin des cat :
awk '{ print $1, $6}' $mon_fichier >file_work.out
à la place de
cat $mon_fichier | awk '{ print $1, $6}'>file_work.out
0