Forum Programmation.shell Script de comparaisons du contenu des fichiers de 2 répertoires

Posté par  .
Étiquettes : aucune
0
19
oct.
2007
Bonjour à tous,


Je doit comparer le contenu des fichiers situés dans 2 répertoires (/etc) je voudrais automatiser cela via un script (histoire de ne pas me cassé la tête pour rien)

J'ai commencé a élaborer ceci mais n'étant pas un scripteur né je pense qu'il y à quelques erreurs, notament au niveau du "if" j'ai l'impression qu'il essaye de traité toutes la liste plutot que de traiter les information ligne par ligne.

Pouvez-vous m'aider à avancer ou m'expliquer ou sont mes erreur ?


# !/bin/sh

# Script de comparaisons des fichiers situé dans un dossier.

# VARIABLES #
#-----------#

FNOW=$(cat /tmp/compare.now.tmp) # Variable du tableau de fichier now
FOLD=$(cat /tmp/compare.old.tmp) # " " " " " " " " old



# Lister les fichiers dans le repertoire et renvoyer la sortie dans un fichier temporaire.
# ---------------------------------------------------------------------------------------

for i in $(find /root/compare/etc/etc-old -type f | sort -n);
do echo $i >> /tmp/compare.old.tmp && sed -i s/'^\.'//g /tmp/compare.old.tmp ;
done
# Folder 2

for i in $(find /root/compare/etc/etc-now -type f | sort -n);
do echo $i >> /tmp/compare.now.tmp && sed -i s/'^\.'//g /tmp/compare.now.tmp ;
done

# Comparé les champs entre-eux


if [ $FNOW -eq $FOLD ]

then sdiff -sW $FNOW $FOLD >> /root/tmp/compare-res/$FNOW.$FNOW.res.txt

else echo "N'est pas présent sur le serveur actuel"

fi

exit



Merci de votre lecture,

Ludo
  • # diff ?

    Posté par  (site web personnel) . Évalué à 1.

    Tu peux pas broder autour de diff ?

    diff /rep1 /rep2
    • [^] # Re: diff ?

      Posté par  (site web personnel) . Évalué à 2.

      diff -q rep1 rep2
    • [^] # Re: diff ?

      Posté par  . Évalué à 1.

      Tu as tout à fait raison j'avais cherché avec sdiff car la mise en page me plait mieux mais c'est san compter l'absence du '-r'. j'ai donc résolu mon problème avec cet commande:


      diff -srN mon_rep1/ mon_rep2


      s= n'affiche pas ce qui est commun
      r=récursiff
      N= ne prend pas en compte les fichiers absents d'un coté ou de l'autre.

      Merci
      • [^] # Re: diff ?

        Posté par  . Évalué à 2.

        y a comm aussi dans le même genre (plus pratique que dif dans certains cas).

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.