IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Renommer un fichier a la date du jour


Sujet :

Linux

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2003
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Renommer un fichier a la date du jour
    Bonjour.

    Voila je rencontre un problème je cherche a renommer un fichier en utilisant la date du jour dans un script shell.

    Le problème c'est que je sais pas comment faire pour récupérer la date du système dans une variable pour la concaténer avec le nom que je cherche a donnée au fichier.

    objectif de la manoeuvre conserver un historique sur une semaine des fichiés.

  2. #2
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    En bash, tout simplement avec un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VARIABLE=`date "+%Y%m%d"`
    Attention aux backquotes autour de la commande date. Elles s'obtiennent avec [Alt Gr] + [7]

    Après dans $VARIABLE (oui, avec un $initial, lors de l'utilisation) tu as la date au format AAAAmmjj et tu en fais ce que tu veux (cp -a /var/log/messages /svg/messages$VARIABLE par exemple)

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2003
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    yes c'est pile poil ce qu'il me faut.

    merci

    j'ai trouver une écriture un peu différenteau hasard mais cela me donne aussi le meme résultat.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TODAY=$(date +%d/%m/%y)
    maintenant il me reste plus qu'a solutionner le "no such file or directory" quand je tente de l'utilisé, ce que je vais faire c'est que je vais prendre la forme que tu ma donnée et voir si j'obtient les mêmes message d'erreur


    trouvé en fait y avait des "/" dans la date c'est pour cela que cela me renvoyais une erreur.

    Merci encore pour ton aide.

  4. #4
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Avril 2007
    Messages : 483
    Points : 234
    Points
    234
    Par défaut
    Bonjour,

    Je me permets de relancer ce topic pour ne pas en recréer un sur le même sujet.

    En fait je souhaite faire la même chose mais un peu différemment.

    Je souhaite lancer mon script via la crontab tous les premiers du mois à minuit (ça j'ai réussit ) et que le fichier soit renommé avec la date au format mm-yyyy (ça aussi j'ai réussi) mais avec mm étant le mois qui vient de se terminer. C'est la que je bloque !

    Comment récupérer le mois précédent ? j'ai fait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #script historisation.sh
     
    MONTH=$(date +%m)
    YEAR=(date +%y)
     
    cp -a /chemin/fichier.txt /chemin/fichier-$MONTH-$YEAR.txt
    rm /chemin/fichier.txt
    Voila. Maintenant je voudrais que dans la variable MONTH je récupère le mois précédent (car il est minuit dans le nouveau mois au moment de l'exécution du script)

    J'ai essayé de mettre un -1 après le %m mais il ne récupère plus le mois tout cours comme ca. J'ai aussi essayé de faire un $MONTH - 1 mais pareil.

    J'ai également pensé à exécuter le script à 23h59 le dernier jours du mois pour ne pas m'embeter mais le problème est que je ne sais pas comment récupérer le dernier jour du mois pour programmer le crontab (car tous les mois n'ont pas le même nombre de jours ! )


    Merci d'avance pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Renommer tous les fichiers avec la date du jour
    Par hadrien2811 dans le forum VBScript
    Réponses: 4
    Dernier message: 16/02/2015, 15h13
  2. [Dates] Renommer un fichier avec la date
    Par VFone dans le forum Langage
    Réponses: 5
    Dernier message: 05/06/2008, 11h23
  3. Renommer une feuille avec la date du jour
    Par Oh!Tofocus dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 09/08/2007, 08h21
  4. [CRONTAB]Nom d'un fichier avec la date du jour
    Par fabszn dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 22/05/2007, 14h37
  5. [batch] renommer un fichier avec la date
    Par arcane dans le forum Windows
    Réponses: 3
    Dernier message: 13/05/2005, 14h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo