[Shell] Récupérer date d'un fichier
Résolu
JOBiJOBa2
Messages postés
93
Statut
Membre
-
lami20j Messages postés 21506 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21506 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
Bonjour,
j'ai une petite question sur les dates fichiers en ksh.
Je voudrais juste pouvoir récupérer la date d'un fichier précis avec un format du genre jj/mm/aaaa(format non fixé).
Avec la commande ls je liste tout les fichiers présent et j'ai leur date mais séparément.
Merci d'avance
^^
j'ai une petite question sur les dates fichiers en ksh.
Je voudrais juste pouvoir récupérer la date d'un fichier précis avec un format du genre jj/mm/aaaa(format non fixé).
Avec la commande ls je liste tout les fichiers présent et j'ai leur date mais séparément.
Merci d'avance
^^
Configuration: Windows XP Firefox 2.0.0.14
14 réponses
-
-
Voilà ce que ça me donne :
/home/fichiers #date -r valide.sql date: illegal option -- r Usage: date [-u] [+format] date [-u] [mmddhhmm[[cc]yy]] date [-a [-]sss.fff] /home/fichiers #date valide.sql date: bad conversion /home/fichiers #date -u mmddhhmm valide.sql date: bad conversion /home/fichiers #date -a valide.sql Usage: date [-u] [+format] date [-u] [mmddhhmm[[cc]yy]] date [-a [-]sss.fff] /home/fichiers #date -a -valide.sql Usage: date [-u] [+format] date [-u] [mmddhhmm[[cc]yy]] date [-a [-]sss.fff]
Je ne voie pas comment faire.
Je vais regarder de plus près le man date.
Merci comme même, si tu pense à autre chose je suis toujours preneur.
^^
PS : je rappel que je suis en ksh
-
-
Voir aussi ce vieux thread ;-))
-
Merci pour ce lien, ça ma beaucoup servi.
Ma solution :ll test.sh | awk '{print $7" "$6" "$8}'
oull test.sh | awk '{print $7"/"$6"/"$8}'
oull test.sh | awk '{print $7"-"$6"-"$8}'
Résultat :
2 Feb 2007
ou
2/Feb/2007
ou
2-Feb-2007
C'était tout ce que je demandais, on est peut être parti un peut trop loin.
Merci beaucoup tout le monde de votre aide.
^^
-
-
Salut,
Qu'as-tu comme système ou comme distrib ?
-
Regarde du côté de la commande "stat" peut être :
stat -c %y fichier 2008-05-20 09:21:28.000000000 +0200
;-))
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Normalement la commande "stat" n'a rien à voir avec le shell utilisé. Que te renvoie la commande :
whereis stat
?
-
Ouais, elle n'est pas installée ;-((
Ben il te reste plus qu'à voir avec "ls --full-time" (si toutefois l'option est présente) et un saucissonage de la sortie avec "cut" ou "awk" ;-))
-
-
Salut,
et comme ça?root@debian:~# ls -l --time-style=+'%d/%m/%Y' essai.txt -rw-r--r-- 1 aaa users 2 02/10/2007 essai.txt root@debian:~# ls -l --time-style=+'%d/%m/%Y' essai.txt | cut -d' ' -f6 02/10/2007
-
Voilà ce que cela me donne :
/home/fichiers/ #ls -l --time-style=+'%d/%m/%Y' test.sh | cut -d' ' -f6 ls: illegal option -- - ls: illegal option -- - ls: illegal option -- y ls: illegal option -- = ls: illegal option -- + ls: illegal option -- % ls: illegal option -- / ls: illegal option -- % ls: illegal option -- / ls: illegal option -- % ls: illegal option -- Y usage: ls -1ARadeCxmnlogrtucpFLbqisf [files]
-
-
Salut,
sinon peut être une solution Perl?! -
PERL , mouais, l'art de traire une puce avec des gants de boxe ;-)
Ce serait plus efficace de connaître la distribution et d'utiliser des outils légers, ... -
Ce serait plus efficace
En ce cas je laisse la place à l'efficacité.
-
Affiche tout simplemnet
ls -l test.sh
--
106485010510997108 -
et ça alors
# ls -l essai.txt -rw-r--r-- 1 aaa users 2 2007-10-02 16:57 essai.txt # ls -l essai.txt| sed 's/.*\([0-9][0-9][0-9][0-9]\)-\([0-9][0-9]\)-\([0-9][0-9]\).*/\1\/\2\/\3/' 2007/10/02
Edit : Vu ta sortie oublie ce message ;-) -
Ta solution ne marche pas sur ton exemple
# echo "-rwxrwxrwx 1 jobi jobi 8607 May 20 11:12 test.sh" | awk '{print $7" "$6" "$8}' 20 May 11:12
La prochaine fois vaut mieux afficher ce que tu veux traiter, ça nous fera gagner de temps et pour toi aussi.
Si t'aurais affiché depuis le début .....