[Shell] Récupérer date d'un fichier

Résolu/Fermé
JOBiJOBa2 Messages postés 91 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 23 avril 2009 - 19 mai 2008 à 16:48
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 20 mai 2008 à 11:42
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
^^
A voir également:

14 réponses

essaye ca :

date -r [nomFichier]
1
JOBiJOBa2 Messages postés 91 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 23 avril 2009 5
20 mai 2008 à 09:07
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
0
HostOfSeraphim Messages postés 6750 Date d'inscription jeudi 2 février 2006 Statut Contributeur Dernière intervention 31 juillet 2016 1 606 > JOBiJOBa2 Messages postés 91 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 23 avril 2009
20 mai 2008 à 09:15
Etrange, le date -r fonctionne chez moi sur ksh...
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
20 mai 2008 à 11:29
Voir aussi ce vieux thread ;-))
1
JOBiJOBa2 Messages postés 91 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 23 avril 2009 5
20 mai 2008 à 11:37
Merci pour ce lien, ça ma beaucoup servi.

Ma solution :
ll test.sh | awk '{print $7" "$6" "$8}'

ou
ll test.sh | awk '{print $7"/"$6"/"$8}'

ou
ll 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.
^^
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
20 mai 2008 à 09:13
Salut,

Qu'as-tu comme système ou comme distrib ?
0
JOBiJOBa2 Messages postés 91 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 23 avril 2009 5
20 mai 2008 à 09:19
Je travail avec putty sous windows pour communiquer avec un serveur UNIX.
Je bosse en ksh.
Sinon je ne peut pas vous en dire plus.

^^
0
JOBiJOBa2 Messages postés 91 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 23 avril 2009 5 > JOBiJOBa2 Messages postés 91 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 23 avril 2009
20 mai 2008 à 10:09
Personne a une idée?
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
20 mai 2008 à 10:13
Regarde du côté de la commande "stat" peut être :
stat -c %y fichier
2008-05-20 09:21:28.000000000 +0200
;-))
0
JOBiJOBa2 Messages postés 91 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 23 avril 2009 5
20 mai 2008 à 10:17
Voilà le résultat:
/home/fichiers #stat -c %y test.sh
ksh: stat:  not found


Tu es sûr que c'est du ksh?

Merci quand même
^^
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
20 mai 2008 à 10:21
Normalement la commande "stat" n'a rien à voir avec le shell utilisé. Que te renvoie la commande :
whereis stat
?
0
JOBiJOBa2 Messages postés 91 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 23 avril 2009 5
20 mai 2008 à 10:23
ça :

stat: /usr/share/man/man2.Z/stat.2 /usr/share/man/man2.Z/stat64.2 /usr/share/man/man5.Z/stat.5



^^
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
20 mai 2008 à 10:28
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" ;-))
0
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
20 mai 2008 à 10:31
Que renvoie "uname -a" ?
0
JOBiJOBa2 Messages postés 91 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 23 avril 2009 5
20 mai 2008 à 10:47
HP-UX DARK B.11.11 U 9000/800 733927621 unlimited-user license
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
20 mai 2008 à 10:32
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
0
JOBiJOBa2 Messages postés 91 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 23 avril 2009 5
20 mai 2008 à 10:50
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]
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
20 mai 2008 à 10:33
Salut,

sinon peut être une solution Perl?!
0
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
20 mai 2008 à 10:36
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, ...
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
20 mai 2008 à 10:40
Ce serait plus efficace
En ce cas je laisse la place à l'efficacité.
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
20 mai 2008 à 11:12
Affiche tout simplemnet
 ls -l test.sh
--
106485010510997108
0
JOBiJOBa2 Messages postés 91 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 23 avril 2009 5
20 mai 2008 à 11:14
Oui ça c'est d'accord mais moi je veut pouvoir stocker seulement la date. Par exemple 2008/05/20.


^^
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894 > JOBiJOBa2 Messages postés 91 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 23 avril 2009
20 mai 2008 à 11:20
Non, il te demande d'afficher la sortie pour qu'on puisse voir à quoi elle correspond afin d'adapter un traitement en fonction...
0
JOBiJOBa2 Messages postés 91 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 23 avril 2009 5 > jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020
20 mai 2008 à 11:25
Okey désolé :

-rwxrwxrwx   1 jobi       jobi          8607 May 20 11:12 test.sh
0
JOBiJOBa2 Messages postés 91 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 23 avril 2009 5 > JOBiJOBa2 Messages postés 91 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 23 avril 2009
20 mai 2008 à 11:28
Je n'est pas le même format de date que vous!!!!

^^
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
20 mai 2008 à 11:25
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 ;-)
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
20 mai 2008 à 11:42
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 .....
0