Précédent   Forum des professionnels en informatique > Systèmes > Linux
Linux Forum d'entraide sur le système Linux. Avant de poster -> Tutoriels Linux, F.A.Q Linux
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/01/2011, 12h27   #1
Invité régulier
 
nico nico
Inscription : novembre 2009
Messages : 44
Détails du profil
Informations personnelles :
Nom : nico nico

Informations forums :
Inscription : novembre 2009
Messages : 44
Points : 7
Points : 7
Par défaut Comparaison de 2 fichiers ligne par ligne

Bonjour,

Je commence le script unix et j'ai besoin de comparer 2 fichiers lignes par lignes. Si les 2 lignes sont identiques, on a un statut OK, sinon, modifié

j'avais pensé à :

Code :
1
2
3
4
5
6
7
8
9
while read line1
do<blockquote>while read line2</blockquote><blockquote>do</blockquote><blockquote><blockquote>if [ $line1 = $line2 ]
then
Statut="OK"
break 2
else
Statut="modifie"
fi</blockquote></blockquote><blockquote>done < fichier2</blockquote>echo $line1 $Statut
done < fichier1
J'ai des erreurs qui remontent "Too many arguments" sur le if. Une idée?

Merci d'avance

Si vous connaissez une série de commande plus simples, ça me va aussi ^^
PoP_NicoW est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2011, 12h50   #2
Membre confirmé
 
Avatar de quetzacoatl
 
Inscription : janvier 2011
Messages : 168
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 168
Points : 202
Points : 202
Sinon vous avez la commande "cmp file1 file2" qui compare deux fichiers et affiche le numéro de ligne de la première différence et rien si identique
quetzacoatl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2011, 13h48   #3
Expert Confirmé Sénior
 
Inscription : janvier 2007
Messages : 8 731
Détails du profil
Informations personnelles :
Âge : 54

Informations forums :
Inscription : janvier 2007
Messages : 8 731
Points : 9 952
Points : 9 952
bah, surtout l'outil diff le fait...

Code :
diff fichier1 fichier2 > resultat
éventuellement suivi d'un grep et d'un awk suivant ce qu'on veut faire...
__________________
"Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

Consultant indépendant.
Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
C, Fortran, XWindow/Motif, Java

Je ne réponds pas aux MP techniques
souviron34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2011, 11h54   #4
Membre éprouvé
 
Avatar de ben.IT
 
Homme Benoît
Inscription : janvier 2009
Messages : 392
Détails du profil
Informations personnelles :
Nom : Homme Benoît
Âge : 24
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : janvier 2009
Messages : 392
Points : 438
Points : 438
moi j'utilise la commande cmp. Si les 2 fichiers sont identiques, elle rend le code de retour 0 sinon si différent 1.
La variable spéciale $? contient le code de retour de la dernière commande exécutée.

a+,
ben
__________________
Meet the free software gang
ben.IT est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h48.


 
 
 
 
Partenaires

Hébergement Web