Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
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 24/02/2011, 10h36   #1
Nouveau Membre du Club
 
Inscription : janvier 2011
Messages : 130
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 130
Points : 29
Points : 29
Par défaut Fonction différence entre fichier

Bonjour,

je voudrais faire une fonction qui lit 2 fichier ligne par ligne et dés qu'il y a une différence sur une ligne il me la sort dans un autre fichier puis il passe à la ligne suivante:

voici le début..

Code :
1
2
3
4
5
6
7
8
9
diff () {
#Lit les 2 fichiers
read $fic1 | $fic2
#Si la ligne $fic1 est différent de la ligne $fic2
if $fic1 != $fic2
then
diff $fic1  $fic2 > fic_diff.txt
fi
}
cette fonction ne marche pas et je pense qu'il manque des choses cohérente, pouvez vous m'aider svp?
merci

SUNos korn shell
ghostrider95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 10h58   #2
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 534
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 534
Points : 7 743
Points : 7 743
ta démarche, elle même, est inutile,
diff se suffit à lui même.

Code :
diff fic1 fic2 > resultat
après tu affiche les lignes fic2 différentes de fic1 avec un un tri sur ">"
après tu affiche les lignes fic1 différentes de fic2 avec un un tri sur "<"

par exemple

ou bien sur tu peux trier directement dans la génération du fichier

Code :
diff fic1 fic2  | grep ">"   > resultat

Si vraiment tu as besoin d'un traitement par ligne pour faire d'autres actions
alors tu peux faire une boucle :

Code :
diff fic1 fic 2 > resultat ; while read l ; do TONTRAITEMENT ; done < resultat
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 20
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h32.


 
 
 
 
Partenaires

Hébergement Web