Comment tester à la fois la présence d'un fichier et la date de sa création?
1 réponse
NSIMBA Guy
Bonjour,
Je voudrais écrire un script qui va tester l'existence d'un fichier et la
date de sa création (qui doit être la date du jour).
- Si le fichier est présent et porte la date du jour, le programme continu
(Code retour 0)
- Si le fichier n'est pas présent, le programme s'arrête (code retour 1).
- Si le fichier est présent mais ne porte pas la date du jour, le programme
s'arrête (code retour 2)
Mais j'ai du mal à transformer en code le test du fichier et de la date de
sa création.
Voici mon script. Merci de m'aider à le rendre exécutable
Merci de corriger mon script car il ne marche pas.
#!/bin/sh
# "mapasa" c'est le nom de mon fichier
if [-f mapasa ] and [mapasa (porte la date d'aujourd'hui)]"; then echo
"mapasa existe et date d'aujourd'hui"
fi
Exit 0
if [!-f mapasa] then echo "mapasa n'existe pas"
fi
Exit 1
if [-f mapasa] and [mapasa ? date_du_jour] then echo "mapasa est un fichier
ancien"
fi
Exit 2
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pascal Bourguignon
"NSIMBA Guy" writes:
Bonjour,
Je voudrais écrire un script qui va tester l'existence d'un fichier et la date de sa création (qui doit être la date du jour).
C'est totalement impossible, sur les filesystem normaux utilisés sur unix.
La date de création des fichiers n'est pas mémoriée.
- Si le fichier est présent et porte la date du jour, le programme continu (Code retour 0)
Comment le programme peut il à la fois continuer et retourner un code? S'il continue, que doit il faire?
- Si le fichier n'est pas présent, le programme s'arrête (code retour 1). - Si le fichier est présent mais ne porte pas la date du jour, le programme s'arrête (code retour 2)
Mais j'ai du mal à transformer en code le test du fichier et de la date de sa création.
Voici mon script. Merci de m'aider à le rendre exécutable Merci de corriger mon script car il ne marche pas.
#!/bin/sh # "mapasa" c'est le nom de mon fichier
On dit:
nom_fichier=mapasa
if [-f mapasa ] and [mapasa (porte la date d'aujourd'hui)]"; then echo
Il n'a pas de programme nommé [-f
"mapasa existe et date d'aujourd'hui" fi Exit 0
if [!-f mapasa] then echo "mapasa n'existe pas" fi Exit 1
if [-f mapasa] and [mapasa ? date_du_jour] then echo "mapasa est un fichier ancien" fi Exit 2
Merci de votre aide
Utiliser la commande man:
man man man sh man test
ou chercher sur google un tutoriel sur la programmation shell, il y en a des millions (14200000 pour être exact (tutorial shell), seulement 83800 en français (tutoriel shell)).
-- __Pascal Bourguignon__ http://www.informatimago.com/ I need a new toy. Tail of black dog keeps good time. Pounce! Good dog! Good dog!
"NSIMBA Guy" <mapasa@free.fr> writes:
Bonjour,
Je voudrais écrire un script qui va tester l'existence d'un fichier et la
date de sa création (qui doit être la date du jour).
C'est totalement impossible, sur les filesystem normaux utilisés sur unix.
La date de création des fichiers n'est pas mémoriée.
- Si le fichier est présent et porte la date du jour, le programme continu
(Code retour 0)
Comment le programme peut il à la fois continuer et retourner un code?
S'il continue, que doit il faire?
- Si le fichier n'est pas présent, le programme s'arrête (code retour 1).
- Si le fichier est présent mais ne porte pas la date du jour, le programme
s'arrête (code retour 2)
Mais j'ai du mal à transformer en code le test du fichier et de la date de
sa création.
Voici mon script. Merci de m'aider à le rendre exécutable
Merci de corriger mon script car il ne marche pas.
#!/bin/sh
# "mapasa" c'est le nom de mon fichier
On dit:
nom_fichier=mapasa
if [-f mapasa ] and [mapasa (porte la date d'aujourd'hui)]"; then echo
Il n'a pas de programme nommé [-f
"mapasa existe et date d'aujourd'hui"
fi
Exit 0
if [!-f mapasa] then echo "mapasa n'existe pas"
fi
Exit 1
if [-f mapasa] and [mapasa ? date_du_jour] then echo "mapasa est un fichier
ancien"
fi
Exit 2
Merci de votre aide
Utiliser la commande man:
man man
man sh
man test
ou chercher sur google un tutoriel sur la programmation shell, il y en
a des millions (14200000 pour être exact (tutorial shell), seulement
83800 en français (tutoriel shell)).
--
__Pascal Bourguignon__ http://www.informatimago.com/
I need a new toy.
Tail of black dog keeps good time.
Pounce! Good dog! Good dog!
Je voudrais écrire un script qui va tester l'existence d'un fichier et la date de sa création (qui doit être la date du jour).
C'est totalement impossible, sur les filesystem normaux utilisés sur unix.
La date de création des fichiers n'est pas mémoriée.
- Si le fichier est présent et porte la date du jour, le programme continu (Code retour 0)
Comment le programme peut il à la fois continuer et retourner un code? S'il continue, que doit il faire?
- Si le fichier n'est pas présent, le programme s'arrête (code retour 1). - Si le fichier est présent mais ne porte pas la date du jour, le programme s'arrête (code retour 2)
Mais j'ai du mal à transformer en code le test du fichier et de la date de sa création.
Voici mon script. Merci de m'aider à le rendre exécutable Merci de corriger mon script car il ne marche pas.
#!/bin/sh # "mapasa" c'est le nom de mon fichier
On dit:
nom_fichier=mapasa
if [-f mapasa ] and [mapasa (porte la date d'aujourd'hui)]"; then echo
Il n'a pas de programme nommé [-f
"mapasa existe et date d'aujourd'hui" fi Exit 0
if [!-f mapasa] then echo "mapasa n'existe pas" fi Exit 1
if [-f mapasa] and [mapasa ? date_du_jour] then echo "mapasa est un fichier ancien" fi Exit 2
Merci de votre aide
Utiliser la commande man:
man man man sh man test
ou chercher sur google un tutoriel sur la programmation shell, il y en a des millions (14200000 pour être exact (tutorial shell), seulement 83800 en français (tutoriel shell)).
-- __Pascal Bourguignon__ http://www.informatimago.com/ I need a new toy. Tail of black dog keeps good time. Pounce! Good dog! Good dog!