Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

date de fichier, la question du jour

4 réponses
Avatar
Mathias Cianci
Bonjour à tous,

Je voudrais afficher la date de dernière modification d'un fichier
"à l'américaine" (sous la forme "2004-04-28 17:35:12", pour pouvoir
facilement faire des tris), mais je ne trouve pas de commande ni
d'option qui me permette de le faire.

J'ai fouillé dans les options de `ls`, mais je n'y vois rien
d'intéressant, les dates s'affichent toujours sous un forme
"human readable"

Voilà le seul truc que j'ai à faire, mais ça marche pas très bien

[root@ns2315 verif_mail]# ls foo.bar --full-time | awk '{print
10,"-","??","-",$8,"-",$9}'
2004 - ?? - 16 - 18:16:25


Y'a forcément une solution simple et efficace.
Qui peut me la donner ?

Merci d'avance,

Mathias

4 réponses

Avatar
Stephane Chazelas
2004-09-03, 15:27(+02), Mathias Cianci:
Je voudrais afficher la date de dernière modification d'un fichier
"à l'américaine" (sous la forme "2004-04-28 17:35:12", pour pouvoir
facilement faire des tris), mais je ne trouve pas de commande ni
d'option qui me permette de le faire.
[...]


(ce n'est pas a l'americaine, c'est le format ISO).

Plusieurs options:

GNU date:

date -r le-fichier '+%F %T'

GNU find:

find le-fichier -prune -printf '%TF %TTn'

Avec zsh:

zmodload -i zsh/stat
stat -F '%F %T' +mtime le-fichier

(sur les systemes non-SUSv3-conformant comme Solaris 8, utiliser
%Y-%m-%d au lieu de %F)

Sinon, utiliser perl.

Pour les tris, voir aussi les qualifiers du globbing de zsh.

--
Stephane

Avatar
Mathias Cianci
Ok merci, c'est parfait.

Dommage quand même que cette option ne soit pas inclues dans la commande ls


2004-09-03, 15:27(+02), Mathias Cianci:

Je voudrais afficher la date de dernière modification d'un fichier
"à l'américaine" (sous la forme "2004-04-28 17:35:12", pour pouvoir
facilement faire des tris), mais je ne trouve pas de commande ni
d'option qui me permette de le faire.


[...]

(ce n'est pas a l'americaine, c'est le format ISO).

Plusieurs options:

GNU date:

date -r le-fichier '+%F %T'

GNU find:

find le-fichier -prune -printf '%TF %TTn'

Avec zsh:

zmodload -i zsh/stat
stat -F '%F %T' +mtime le-fichier

(sur les systemes non-SUSv3-conformant comme Solaris 8, utiliser
%Y-%m-%d au lieu de %F)

Sinon, utiliser perl.

Pour les tris, voir aussi les qualifiers du globbing de zsh.




Avatar
TiChou
Dans le message <news:ch9sij$aef$,
*Mathias Cianci* tapota sur f.c.o.unix :

D'abord une visite du site suivant s'impose :

http://www.giromini.org/usenet-fr/repondre.html

Je voudrais afficher la date de dernière modification d'un fichier
"à l'américaine" (sous la forme "2004-04-28 17:35:12", pour pouvoir
facilement faire des tris), mais je ne trouve pas de commande ni
d'option qui me permette de le faire.




[...]

Dommage quand même que cette option ne soit pas inclues dans la commande
ls


A noter que la commande GNU ls permet de trier les fichiers par date.

--
TiChou



Avatar
Stephane Chazelas
2004-09-3, 15:59(+02), TiChou:
[...]
A noter que la commande GNU ls permet de trier les fichiers par date.
[...]


Et pas que celle de GNU.

find a aussi les predicats -newer et -older (a combiner avec
touch -t) et -mtime (ou -mmin avec le GNU find).

--
Stephane