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

Shell et commandes GNU Discussion :

[find] Fichiers créés après minuit (jour J-1) et dernière modif avant minuit (jour J) ?


Sujet :

Shell et commandes GNU

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 155
    Par défaut [find] Fichiers créés après minuit (jour J-1) et dernière modif avant minuit (jour J) ?
    Bonjour;
    j'aimerais avec la commande find obtenir le nom des fichiers créés après minuit du jour J-1 et de dernière modification avant minuit du jour J, en utilisant le timestamp si possible.

    Merci pour votre savoir

  2. #2
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    j'ai envie de te dire RTFM là...

    tu utilises touch pour créer deux fichiers horodatage choisi donc par toi de limites et tu utilises find avec les références des fichiers et tu effaces ces derniers
    quelques soit les heures/dates choisies ça marchera même si tu veux les fichiers du 03 mai 1903 entre 14h17 et le 04 mai 1942 à 09h49.


  3. #3
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 417
    Par défaut
    Bonjour,

    En complément de la réponse de frp31, les 2 fichiers d'horodatage ne doivent pas être créer dans l'arborescence que le find doit explorer car ceux-ci peuvent être détecté et pris en compte par les actions du find.

    Cordialement.

  4. #4
    Membre chevronné

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 247
    Billets dans le blog
    1
    Par défaut
    Si j'ai bien compris on doit pouvoir repondre au besoin avec juste les options - mtime et -ctime

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 103
    Par défaut
    La même question a été posée naguère: solution avec touch + find

  6. #6
    Membre chevronné

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 247
    Billets dans le blog
    1
    Par défaut
    j'ai implicitement et surement un peu trop rapidement
    assimilé J au jour courant ...

    Pour J jour quelconque ce n'est en effet pas aussi simple mais je fais entierement confiance aux solutions proposées ici et dans les autres post

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 155
    Par défaut
    Yep !
    Mercis pour vos réponses !

    Et bien J était le jour courant en effet.

    Sinon un find -ctime -1 m'a très bien réussi. ' J'avais omis de mentionner que j'eatis sous RHEL 6.1 ... :/

  8. #8
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 417
    Par défaut
    Voici sinon pour le fun une version (vraiment) alambiquée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $ ls -la
    total 20831
    drwx------  3 x x     1024 Mar  1 17:16 .
    drwxr-xr-x. 7 root     root         1024 Jul  6  2012 ..
    -rw-------  1 x x    13131 Mar 20 16:17 .bash_history
    -rw-r--r--  1 x x       18 Apr 23  2012 .bash_logout
    -rw-r--r--  1 x x      176 Apr 23  2012 .bash_profile
    -rw-r--r--  1 x x      124 Apr 23  2012 .bashrc
    -rwx------  1 x x 21301090 Jul 12  2012 jre-6u33-linux-x64.bin
    -rw-r--r--  1 x x      121 Apr 11  2012 .kshrc
    drwx------  2 x x     1024 Aug 27  2012 .ssh
    -rw-------  1 x x     5441 Jan 30 14:04 .viminfo
    -rw-------  1 x x       74 Mar  1 17:16 .Xauthority
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $ TIME1=`date -u --date="2013-03-20 00:00:00" +%s`
    $ TIME2=`date -u --date="2013-03-21 00:00:00" +%s`
    $  ( echo $TIME1 && echo $TIME2 && find . -type f -printf '%C@ /%p\n' ) | sort | sed -e '/'$TIME1'/,/'$TIME2'/!d;/^[0-9]\+$/d;s/^[0-9.]\+ \///g' | xargs ls -l
    -rw------- 1 x x 13131 Mar 20 16:17 ./.bash_history
    Cordialement.

  9. #9
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    Si tu es joueur, tu peux aussi ne pas passer par les variables avec des commandes interprétés directement

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 155
    Par défaut
    Enorme Mr disedorgue ! Enorme !
    Merci

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 155
    Par défaut
    Par contre j'ai un petit soucis avec cette commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
     
    vm-rh61 scripts $ export DATE_J=`date +"%Y-%m-%d"`;
    vm-rh61 scripts $ export DATE_JMOINS1=`date --date '1 days ago' +"%Y-%m-%d"`;
    vm-rh61 scripts $ export TIMESTAMP1=`date -u --date="${DATE_J}" +%s`;
    vm-rh61 scripts $ export TIMESTAMP2=`date -u --date="${DATE_JMOINS1}" +%s`;
    vm-rh61 scripts $
    vm-rh61 scripts $
    vm-rh61 scripts $ echo $DATE_J
    2013-03-21
    vm-rh61 scripts $ echo $DATE_JMOINS1
    2013-03-20
    vm-rh61 scripts $ echo $TIMESTAMP1
    1363824000
    vm-rh61 scripts $ echo $TIMESTAMP2
    1363737600
    vm-rh61 scripts $ $( echo $TIMESTAMP1 && echo $TIMESTAMP2 && find . -type f -printf '%C@ /%p\n' )
    -bash: 1363824000: command not found
    ?

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 155
    Par défaut
    OK ... euh désolé c'est pour moi, j'avais pas vu le $ en trop...
    Le noir et blanc ça fatigue...

  13. #13
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 417
    Par défaut
    Euh, c'était juste pour le fun ou à la rigueur pour ceux qui ont un find sans l'option newerXY:

    -newerXY reference
    Compares the timestamp of the current file with reference. The reference argument is normally the name of a file (and one of its timestamps
    is used for the comparison) but it may also be a string describing an absolute time. X and Y are placeholders for other letters, and these
    letters select which time belonging to how reference is used for the comparison.

    a The access time of the file reference
    B The birth time of the file reference
    c The inode status change time of reference
    m The modification time of the file reference
    t reference is interpreted directly as a time

    Some combinations are invalid; for example, it is invalid for X to be t. Some combinations are not implemented on all systems; for example
    B is not supported on all systems. If an invalid or unsupported combination of XY is specified, a fatal error results. Time specifications
    are interpreted as for the argument to the -d option of GNU date. If you try to use the birth time of a reference file, and the birth time
    cannot be determined, a fatal error message results. If you specify a test which refers to the birth time of files being examined, this
    test will fail for any files where the birth time is unknown.
    ce qui donne par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    $ ls -al
    total 20834
    drwx------  3 x x     1024 Mar  1 17:16 .
    drwxr-xr-x. 7 root     root         1024 Jul  6  2012 ..
    -rw-------  1 x x    15536 Mar 20 19:59 .bash_history
    -rw-r--r--  1 x x       18 Apr 23  2012 .bash_logout
    -rw-r--r--  1 x x      176 Apr 23  2012 .bash_profile
    -rw-r--r--  1 x x      124 Apr 23  2012 .bashrc
    -rwx------  1 x x 21301090 Jul 12  2012 jre-6u33-linux-x64.bin
    -rw-r--r--  1 x x      121 Apr 11  2012 .kshrc
    drwx------  2 x x     1024 Aug 27  2012 .ssh
    -rw-------  1 x x     5441 Jan 30 14:04 .viminfo
    -rw-------  1 x x       74 Mar  1 17:16 .Xauthority
    $ $ find . -newermt "2013-01-30 00:00:00" -a \! -newermt "2013-03-01 00:00:00" -exec ls -l {} \;
    -rw------- 1 x x 5441 Jan 30 14:04 ./.viminfo
    ici, je me base sur la date de modification...

    Cordialement.

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

Discussions similaires

  1. verrouillage d'un fichier excel après 20 jours.
    Par deep_blue dans le forum Excel
    Réponses: 7
    Dernier message: 18/03/2014, 11h30
  2. Réponses: 2
    Dernier message: 03/02/2014, 09h06
  3. Calcul espace disque de fichier spécifique (après find)
    Par Chochal dans le forum Shell et commandes GNU
    Réponses: 44
    Dernier message: 26/10/2011, 17h41
  4. [batch]supprimer les fichiers créés il y a X jour
    Par norac dans le forum Windows
    Réponses: 6
    Dernier message: 18/10/2006, 15h32

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