Rechercher : dans
Par :

[UNIX] Comparaison de fichier

Dernière réponse le 23 jan 2007 à 14:24:19 Camomille, le 22 jan 2007 à 02:42:22 
 Signaler ce message aux modérateurs

Salut à vous,

je me suis cassé la tête toute la journée avant de vous demander de l'aide!!
J'emploie un récepteur satellite "linux-based" qui n'a pas les commandes diff ou comm. d'où [UNIX] !!
J'aimerais pouvoir comparer si un fichier downloadé est plus récent que celui déjà présent.
Le problème est que mon fichier downloadé sera toujours plus récent que celui déjà présent!
J'avais essayé avec cette commande;
if [ /var/tmp/fichie -nt /var/xxxx/fichier ]
Voyez vous un aure moyen de comparer deux fichiers (*.bin) ?

J'avais pensé inscrire la date de download dans un autre fichier afin de comparer, mais ici aussi je me plante royalement!

Un grand merci pour votre aide, avis ou commentaires
bien amicalement

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « [UNIX] Comparaison de fichier » dans :
UNIX - Les fichiers Voir Introduction aux fichiers Unix Sous les systèmes UNIX tout élément est représenté sous forme de fichier. L'ensemble des fichiers est architecturé autour d'une unique arborescence dont la base, appelée racine, est notée «/». Types de...
[Shell] Créer un fichier vide VoirPour créer un fichier vide, il vous suffit de taper la commande suivante : > fichier Vous pouvez également utiliser la commande touch : touch fichier
[Shell] Transferer des fichiers via ssh VoirSSH - Secure SHell Utilisation Informations complémentaires LOGICIELS Sous Linux/Unix Sous Windows Avertissement Utilisation SSH permet d'utiliser des pipelines de commandes, et d'utiliser des tubes d'entrées/sorties comme toute...
Commandes UNIX VoirTableau des principales commandes UNIX Commande Unix Description Options ls liste le contenu d'un répertoire -a Affiche tous les fichiers, y compris les fichiers cachés ...

1

jipicy, le 22 jan 2007 à 07:35:18
  • +1

Salut,

Regarde si tu as la commande "stat" sur ton système...
Sinon "ls -lt" ou "ls -lu" ou encore "ls --full-time".

;-)) Z'@+...che.

JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

2

Camomille, le 22 jan 2007 à 14:37:09

Meri pour ta réponse.

"stat" n'est malheureusement pas présent !
Je ne suis pas trop convaincu ou (surtout ! ) ne connais pas assez les commandes "ls" pour faire en faire une condition "if....then ".

Une autre idée sur laquelle j'avais travaillé est de créer un petit fichier dans lequel est écrit la date d'upload. Cela m'aurait en plus permis de pouvoir afficher la date de la dernière modification. Mais ici aussi mes premiers essais n'étaient pas concluant!!
Et comme je n'ai pas honte de dire que je suis débutant, voici une portion de mon script:

FILEnew=/var/tmp/fichier
FILEcurrent=/var/xxx/fichier
new=grep '[0-9]' $FILEnew
current=grep '[0-9]' $FILEcurrent

if [ $new = $current ];
then ...........................

Je sais que j'ai encore beaucoup à apprendre. Je ne demande pas qu'on écrive mon script mais un simple coup de pouce pour me permettre de piger et de l'écrire moi-même!!

Mille merci de me mettre sur le bon chemin.

Bien amicalement.

Camomille

Répondre à Camomille

3

 Camomille, le 23 jan 2007 à 14:24:19

Merci pour les bonnes suggestions de solution.

Je m'en suis tiré en downloant premièrement un fichier contenant la date d'upload du binary (maj.txt). Ce fichier est conservé dans le récepteur et remplacer lorsqu'un update a eu lieu.
Mon script compare les deux fichiers et décide (ou non ) de downloader la mise à jour:

wget http://www.mondomaine.com/xxx/maj.txt -O /tmp/maj.txt
new=`cat /tmp/maj.txt | grep -i "200" `
current=`cat /var/camo/maj.txt | grep -i "200" `

if [ $new = $current ];
then......

Encore mille mercis

Camo bien amicalement

Répondre à Camomille
Collection CommentÇaMarche.net