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

Signaler
Messages postés
91
Date d'inscription
mardi 13 mai 2008
Statut
Membre
Dernière intervention
23 avril 2009
-
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
-
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
^^

14 réponses

essaye ca :

date -r [nomFichier]
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
91
Date d'inscription
mardi 13 mai 2008
Statut
Membre
Dernière intervention
23 avril 2009
5
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
Messages postés
6746
Date d'inscription
jeudi 2 février 2006
Statut
Contributeur
Dernière intervention
31 juillet 2016
1 508 >
Messages postés
91
Date d'inscription
mardi 13 mai 2008
Statut
Membre
Dernière intervention
23 avril 2009

Etrange, le date -r fonctionne chez moi sur ksh...
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 849
Voir aussi ce vieux thread ;-))
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
91
Date d'inscription
mardi 13 mai 2008
Statut
Membre
Dernière intervention
23 avril 2009
5
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.
^^
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 849
Salut,

Qu'as-tu comme système ou comme distrib ?
Messages postés
91
Date d'inscription
mardi 13 mai 2008
Statut
Membre
Dernière intervention
23 avril 2009
5
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.

^^
Messages postés
91
Date d'inscription
mardi 13 mai 2008
Statut
Membre
Dernière intervention
23 avril 2009
5 >
Messages postés
91
Date d'inscription
mardi 13 mai 2008
Statut
Membre
Dernière intervention
23 avril 2009

Personne a une idée?
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 849
Regarde du côté de la commande "stat" peut être :
stat -c %y fichier
2008-05-20 09:21:28.000000000 +0200
;-))
Messages postés
91
Date d'inscription
mardi 13 mai 2008
Statut
Membre
Dernière intervention
23 avril 2009
5
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
^^
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 849
Normalement la commande "stat" n'a rien à voir avec le shell utilisé. Que te renvoie la commande :
whereis stat
?
Messages postés
91
Date d'inscription
mardi 13 mai 2008
Statut
Membre
Dernière intervention
23 avril 2009
5
ça :

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



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

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


^^
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 849 >
Messages postés
91
Date d'inscription
mardi 13 mai 2008
Statut
Membre
Dernière intervention
23 avril 2009

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

Okey désolé :

-rwxrwxrwx   1 jobi       jobi          8607 May 20 11:12 test.sh
Messages postés
91
Date d'inscription
mardi 13 mai 2008
Statut
Membre
Dernière intervention
23 avril 2009
5 >
Messages postés
91
Date d'inscription
mardi 13 mai 2008
Statut
Membre
Dernière intervention
23 avril 2009

Je n'est pas le même format de date que vous!!!!

^^
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 531
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 ;-)
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 531
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 .....