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 :

changement de format de date


Sujet :

Shell et commandes GNU

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 7
    Par défaut changement de format de date
    Bonjour,

    Novice dans la gestion du shell, j'aimerais effectuer l'opération suivante :
    ls -l mon_dossier > test.txt pour obtenir la liste des fichiers de mon_dossier.

    Le fichier test.txt contient un certain nombre de ligne du type :
    -rw----rw- 1 mon_dossier 0 4369 Jun 19 10:22 JW575574.NOTNS

    Au final j'aimerais obtenir un fichier test.txt dont le format de date puisse être exploitable dans une autre application (avoir 190608 au lieu de Jun 19).

    Quelqu'un aurait-il une idée ?

  2. #2
    Membre émérite
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Par défaut

    edit : A non tu veux re-formater une date déjà sortie en fait
    Il faudrait revoir le format date lors de la formation du fichier texte (en suivant le man http://man.developpez.com/man1/date.1.php )
    Puis ensuite lire ton fichier ligne par ligne avec un truc du genre :


  3. #3
    Nouveau membre du Club
    Inscrit en
    Juin 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 7
    Par défaut
    Pécisions : je n'ai pas la possibilité de changer la date system.

    Mon objectif est de liste le contenu d'un dossier tout en changeant le format d'affichage de la date.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juin 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 7
    Par défaut
    D'autres précisions qui peuvent peut être compliquer la tâche.
    Je travaille sur le qshell d'un os/400

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juin 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 7
    Par défaut
    Est-ce que la commande sed permet de faire ce changement ?
    Et si oui, y'a-t-il des exemples que je puisse consulter ?

  6. #6
    Membre émérite
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Par défaut
    Hey hey
    Le multi post est interdit !

    Tu peux utiliser la fonction

    Pour les exemples il te suffit de chercher un peu sur le forum

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Par défaut
    As-tu awk et quelle version? S'agit-t'il d'un gros fichier?

  8. #8
    Nouveau membre du Club
    Inscrit en
    Juin 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 7
    Par défaut
    Sorry pour le multi post.
    Je n'ai pas awk sur le système

    Et que pensez-vous de la commande touch ?

  9. #9
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Par défaut
    coreutils ls permet le formatage de la date:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ls -l --time-style="+%m%Y"

  10. #10
    Nouveau membre du Club
    Inscrit en
    Juin 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 7
    Par défaut
    Voici le retour :
    ls: 001-3015 usage: ls [-ACFLRSTacdfiloqrstu1] [file ...]

    Malheureusement, le système ne le permet pas.
    Il peut y avoir quelques différences par rapport aux commandes standards de linux.

    Je suis donc obligé de trouver un subterfuge.

  11. #11
    Membre émérite
    Avatar de D[r]eadLock
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    504
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 504
    Par défaut
    Pour la transformation de la date (après l'avoir correctement extraite, avec awk, sed ou cut) tu peux utiliser date (s'il n'est pas trop pourri)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    > date --date "Jun 19" +"%d%m%y"
    190608
    Mais regarde bien le man de ls (voire le info ls).
    <mode mylife>
    Pour date il n'y a pas tout dans le man par exemple
    date -d @1213907455
    Donne l'inverse de date +"%s" (i.e. nb de secondes depuis 01/01/1970 !) et qui est super pratique !!!
    </mode mylife>

  12. #12
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Par défaut
    Citation Envoyé par yukonima Voir le message
    Sorry pour le multi post.
    Je n'ai pas awk sur le système

    Et que pensez-vous de la commande touch ?
    Et sed?

  13. #13
    Nouveau membre du Club
    Inscrit en
    Juin 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 7
    Par défaut
    Je peux utiliser sed, mais je ne l'ai jamais utilisé.
    Mais il est disponible sous qshell.

  14. #14
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Par défaut
    Bon, un peu bourrin mais puisque tu n'as pas de possibilité de changer le formatge de la date de ls, on essaye avec sed alors:

    Dans un fichier, par exemple change-date.sed, mets:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    s/ Jan \([ 0-3]\?[0-9]\) / \1012008 /
    s/ Feb \([ 0-3]\?[0-9]\) / \1022008 /
    s/ Mar \([ 0-3]\?[0-9]\) / \1032008 /
    s/ Apr \([ 0-3]\?[0-9]\) / \1042008 /
    s/ May \([ 0-3]\?[0-9]\) / \1052008 /
    s/ Jun \([ 0-3]\?[0-9]\) / \1062008 /
    s/ Jul \([ 0-3]\?[0-9]\) / \1072008 /
    s/ Aug \([ 0-3]\?[0-9]\) / \1082008 /
    s/ Sep \([ 0-3]\?[0-9]\) / \1092008 /
    s/ Oct \([ 0-3]\?[0-9]\) / \1102008 /
    s/ Nov \([ 0-3]\?[0-9]\) / \1112008 /
    s/ Dec \([ 0-3]\?[0-9]\) / \1122008 /
    Pour l'exécuter:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ sed -f change-date.sed ton-fichier-texte
    Tu peux également essayer de piper directement le résultat de la commande ls dans le sed:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ ls -l | sed -f change-date.sed

  15. #15
    Membre éprouvé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Par défaut
    bo vous vous casser la tête
    pour formater une date on peut utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $(date --date "today" +'%d/%m/%Y')

  16. #16
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Par défaut
    Ce n'est pas la question.

Discussions similaires

  1. Changement de format de Date dans TMAP
    Par ableur dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 21/04/2015, 14h14
  2. Changement de format de date
    Par Yokooo dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 15/04/2010, 10h24
  3. changement de format pour date
    Par franz2b dans le forum SAS Base
    Réponses: 3
    Dernier message: 25/03/2010, 11h36
  4. Réponses: 6
    Dernier message: 21/06/2007, 15h26
  5. Changement format de date
    Par LaNat dans le forum Outils
    Réponses: 4
    Dernier message: 26/04/2005, 11h02

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