Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 16/11/2006, à 04:59

bog333

shell script

bonjour,
j'aimerait comparer le contenue de deux fichier text et savoir s'il sont pareil comment pourrais-je faire cela


carte mère P6X58D-E, processeur intel core i7 950 3.06 GHZ
disque dure seagate sata 2TB, 2x 2 Go de ram kingston. sur une ubuntu 11.04 64bit

Hors ligne

#2 Le 16/11/2006, à 08:49

abetsic

Re : shell script

avec la commande :

diff fichier1 fichier2

Il existe des logiciels qui permettent de visualiser les différences entre deux fichier plus facilement, sous kde il y a kompare, sous gnome je ne connais pas....

Sinon tu peux utiliser gvimdiff fichier1 fichier2

Hors ligne

#3 Le 20/11/2006, à 20:33

bog333

Re : shell script

merci pour la réponse, cela fonctionne très bien.
maintenant j'ai un autre petit problème, jutilise la commande suivante:
lpq>>temp
mais j'aimerait qu'il n'y ai rien qui s'affiche sur l'écran, comment faire


carte mère P6X58D-E, processeur intel core i7 950 3.06 GHZ
disque dure seagate sata 2TB, 2x 2 Go de ram kingston. sur une ubuntu 11.04 64bit

Hors ligne

#4 Le 20/11/2006, à 20:52

abetsic

Re : shell script

Quand tu fais une redirection de flux, c'est uniquement le flux standard qui est redirigé vers le fichier (temp dans ton cas) du coup le flux d'erreur est toujours affiché à l'écran.

Pour que le flux d'erreur soit écrit dans le fichier il faut faire

lpq &>> temp

Pour qu'il ne soit ni affiché ni écrit dans temp :

lpq >> temp 2> /dev/null

si je ne me trompe pas...

Hors ligne

#5 Le 20/11/2006, à 23:24

bog333

Re : shell script

J'aimerais aussi qu'il n'y ait rien d'afficher lorsque je fait ce test (etat et temp sont deux fichier text):

if diff etat temp
then
test1=0
else
test1=1
fi


carte mère P6X58D-E, processeur intel core i7 950 3.06 GHZ
disque dure seagate sata 2TB, 2x 2 Go de ram kingston. sur une ubuntu 11.04 64bit

Hors ligne

#6 Le 21/11/2006, à 01:02

abetsic

Re : shell script

tu peux plutot utiliser la valeur de retour de diff qui vaut 0 si les deux fichiers sont identiques, autre chose si ils sont différents ou si il y a eu une erreur :

diff etat temp
test1=$? # $? est la variable qui contient la valeur de retour de la dernière commande effectuée, ici "diff etat temp"

Et faire le reste de ton script avec ça.

Hors ligne

#7 Le 21/11/2006, à 15:46

bog333

Re : shell script

merci, pour tout, sa fonctionne


carte mère P6X58D-E, processeur intel core i7 950 3.06 GHZ
disque dure seagate sata 2TB, 2x 2 Go de ram kingston. sur une ubuntu 11.04 64bit

Hors ligne