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 :

Commande Linux récupération dernier fichier


Sujet :

Shell et commandes GNU

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 221
    Points : 108
    Points
    108
    Par défaut Commande Linux récupération dernier fichier
    Bonjour,

    J'ai une application qui me dépose dans un répertoire spécifique des fichier sous la forme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    fichier_012021_20210607160000.csv
    fichier_012021_20210607160005.csv
    fichier_012021_20210607160010.csv
    i;e

    20210607160000 représente le format: AAAAMMJJHHMMSS

    Je voudrais une commande qui me donne le dernier fichier mis dans le répertoire donc en l'occurrence fichier_012021_20210607160010.csv i.e la recherche s'effectue sur le paramètre 20210607160000 qui est une sorte d'horodatage.

    J'ai essayé de faire un Mais ca ne marche toujours pas.


    Merci d'avance

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 376
    Points
    19 376
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ printf '%s\0' fichier_*.csv | sort -z -t '_' -k 3,3n  | xargs -0 -I {} echo {}
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 718
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 718
    Points : 15 097
    Points
    15 097
    Par défaut
    Citation Envoyé par foxrol Voir le message
    J'ai essayé de faire un ls -t mais ça ne marche toujours pas.
    ça ne marche toujours pas ? ce qui signifie que ça n'a jamais marché fonctionné ou,
    ça ne marche pas toujours ? ce qui signifie que des fois ça fonctionne et des fois non, ce qui n'est pas du tout pareil.

    Ceci étant dit, chez moi ls -t fonctionne parfaitement bien. Donc il doit y avoir autre chose…
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 221
    Points : 108
    Points
    108
    Par défaut
    Citation Envoyé par Jipété Voir le message
    ça ne marche toujours pas ? ce qui signifie que ça n'a jamais marché fonctionné ou,
    ça ne marche pas toujours ? ce qui signifie que des fois ça fonctionne et des fois non, ce qui n'est pas du tout pareil.

    Ceci étant dit, chez moi ls -t fonctionne parfaitement bien. Donc il doit y avoir autre chose…

    Désolé je me suis mal exprimé. Effectivement il y a avait un conflit.

    Maintenant le tout fonctionne

    Merci à tous.

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 376
    Points
    19 376
    Par défaut
    EDIT : l'exposé est ambigu :
    donne[r] le dernier fichier mis dans le répertoire
    la recherche s'effectue sur le paramètre 20210607160000 qui est une sorte d'horodatage.
    finEDIT

    ls -t ne traite pas les noms des fichiers. Cette commande traite les "méta-informations" des fichiers.
    Or, les dates attachées aux fichiers par le système de fichier pourraient ne pas correspondre aux dates contenues dans les noms des fichiers :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $ ls -lt fichier*                                                                                                                                                                                             
    -rw-r--r-- 1 nbah nbah 0  8 juin  19:21 fichier_012021_20210607160000.csv                                                                                                                                                                      
    -rw-r--r-- 1 nbah nbah 0  8 juin  19:21 fichier_012021_20210607160005.csv                                                                                                                                                                      
    -rw-r--r-- 1 nbah nbah 0  8 juin  19:21 fichier_012021_20210607160010.csv                                                                                                                                                                      
    $
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ touch -d 2010-01-01\ 00:00:00 /tmp/fichier_012021_20210607160005.csv
    $
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $ ls -lt fichier*                                                                                                                                                                                             
    -rw-r--r-- 1 nbah nbah 0  8 juin  19:21 fichier_012021_20210607160000.csv                                                                                                                                                                      
    -rw-r--r-- 1 nbah nbah 0  8 juin  19:21 fichier_012021_20210607160010.csv                                                                                                                                                                      
    -rw-r--r-- 1 nbah nbah 0  1 janv.  2010 fichier_012021_20210607160005.csv                                                                                                                                                                      
    $
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

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

Discussions similaires

  1. Récupération commande java dans un fichier
    Par kevin066 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 24/11/2020, 11h03
  2. Récupération de fichier via commande DOS
    Par esalamin dans le forum Windows 7
    Réponses: 5
    Dernier message: 16/12/2019, 14h59
  3. Commande Linux pour fichiers cachés
    Par pedro570 dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 02/10/2015, 06h37
  4. Réponses: 7
    Dernier message: 09/11/2010, 18h00
  5. Réponses: 6
    Dernier message: 14/05/2010, 23h15

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