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

Changement d'heure sur un ensemble de fichier

27 réponses
Avatar
JPM
Bonjour,

En utilisant des commande Unix uniquement (pas de perl ou shell),
comment peut on ajouter ou retirer 1 heure a tous les fichiers d'une
arborescence ?

find me donne la liste des fichier
touch defini la date et l'heure
Il me manque l'etape intermediaire.

Merci

10 réponses

1 2 3
Avatar
Nicolas George
"JPM" wrote in message
:
En utilisant des commande Unix uniquement (pas de perl ou shell),
comment peut on ajouter ou retirer 1 heure a tous les fichiers d'une
arborescence ?


Pourquoi diable voudrais-tu faire ça ?

find me donne la liste des fichier
touch defini la date et l'heure
Il me manque l'etape intermediaire.


Avec perl, stat et utime pour le changement, File::Find pour trouver les
fichiers.

Avatar
Pascal Bourguignon
"JPM" writes:

Bonjour,

En utilisant des commande Unix uniquement (pas de perl ou shell),
comment peut on ajouter ou retirer 1 heure a tous les fichiers d'une
arborescence ?

find me donne la liste des fichier
touch defini la date et l'heure
Il me manque l'etape intermediaire.


Mieux lire: man find

find . -type f -exec touch -d '1946-03-15' {} ;


--
__Pascal Bourguignon__
http://www.informatimago.com
http://pjb.ogamita.org

Avatar
Nicolas George
Pascal Bourguignon wrote in message
:
Mieux lire: man find


Mieux lire la question : find ne sait pas faire d'arithmétique sur les
heures.

Avatar
QuisssT
On 26 mar, 11:43, Nicolas George <nicolas$ wrote:
"JPM" wrote in message

:

En utilisant des commande Unix uniquement (pas de perl ou shell),
comment peut on ajouter ou retirer 1 heure a tous les fichiers d'une
arborescence ?


Pourquoi diable voudrais-tu faire ça ?


Je pense que c'est la bonne question :)

Depuis le passage a l'heure d'été, mon disque réseau (sous Linux) a
une heure de decalage par rapport a mon PC . les deux sont a la meme
heure. "$ date" me donne la bonne date et heure sur le Linux.

Le disque reseau est une synchronisation d'un disque du PC.

Pourquoi diable les fichiers qui étaient hier a la meme heures on une
heure de decalage ?


Avatar
Stephane Chazelas
2007-03-26, 02:09(-07), JPM:
Bonjour,

En utilisant des commande Unix uniquement (pas de perl ou shell),
comment peut on ajouter ou retirer 1 heure a tous les fichiers d'une
arborescence ?

find me donne la liste des fichier
touch defini la date et l'heure
Il me manque l'etape intermediaire.
[...]


Pas possible de facon standard. Tu peux avec des commandes GNU.
Mais le plus simple est d'utiliser perl.

Il n'y pas de commande qui permette de recuperer la date de
derniere modification d'un fichier avec la boite a outil Unix
standard de facon fiable quelque soit la date. Il est possible
de bidouiller en utilisant pax, mais ca sera vraiment
tarabiscoté.

--
Stéphane

Avatar
Vincent Lefevre
Dans l'article ,
QuisssT écrit:

Depuis le passage a l'heure d'été, mon disque réseau (sous Linux) a
une heure de decalage par rapport a mon PC . les deux sont a la meme
heure. "$ date" me donne la bonne date et heure sur le Linux.

Le disque reseau est une synchronisation d'un disque du PC.

Pourquoi diable les fichiers qui étaient hier a la meme heures on une
heure de decalage ?


Je suppose que par PC, tu sous-entends MS-DOS/Windows. C'est tout
simplement que MS-DOS/Windows a une gestion buggée de l'heure: ils
ne connaissent que l'heure locale. Donc quand il y a un changement
d'heure (passage à l'heure d'été ou d'hiver, ou changement de timezone
parce que tu vas dans un autre pays), ça donne n'importe quoi. La
bonne façon (celle des OS modernes) est de stocker la date et l'heure
en UTC, et de faire les calculs d'heure locale à la volée.

--
Vincent Lefèvre - Web: <http://www.vinc17.org/&gt;
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/&gt;
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)

Avatar
JPM
On 26 mar, 15:25, Vincent Lefevre <vincent+ wrote:
Dans l'article ,
QuisssT écrit:

Depuis le passage a l'heure d'été, mon disque réseau (sous Linux) a
une heure de decalage par rapport a mon PC . les deux sont a la meme
heure. "$ date" me donne la bonne date et heure sur le Linux.
Le disque reseau est une synchronisation d'un disque du PC.
Pourquoi diable les fichiers qui étaient hier a la meme heures on une
heure de decalage ?


Je suppose que par PC, tu sous-entends MS-DOS/Windows. C'est tout
simplement que MS-DOS/Windows a une gestion buggée de l'heure: ils
ne connaissent que l'heure locale. Donc quand il y a un changement
d'heure (passage à l'heure d'été ou d'hiver, ou changement de timez one
parce que tu vas dans un autre pays), ça donne n'importe quoi. La
bonne façon (celle des OS modernes) est de stocker la date et l'heure
en UTC, et de faire les calculs d'heure locale à la volée.

--
Vincent Lefèvre - Web: <http://www.vinc17.org/&gt;
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/&gt;
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)


Est ce a dire que lorsque l'on passe a l'heure d'été, sous Windows les
fichiers prennet une heure de plus, alors que sur un OS moderne,
l'heure des fichiers ne change pas ?


Avatar
Vincent Lefevre
Dans l'article ,
JPM écrit:

Est ce a dire que lorsque l'on passe a l'heure d'été, sous Windows les
fichiers prennet une heure de plus, alors que sur un OS moderne,
l'heure des fichiers ne change pas ?


Quelque chose de ce genre. Je ne sais pas ce qui se passe exactement,
mais en sauvant l'heure locale (sans indication de timezone), on perd
une information essentielle.

--
Vincent Lefèvre - Web: <http://www.vinc17.org/&gt;
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/&gt;
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)

Avatar
patrice
"JPM" a écrit dans le message de
news:
On 26 mar, 15:25, Vincent Lefevre <vincent+ wrote:
Est ce a dire que lorsque l'on passe a l'heure d'été, sous Windows les
fichiers prennet une heure de plus, alors que sur un OS moderne,
l'heure des fichiers ne change pas ?


Les dates fichiers sont enregistré en gmt et affichée avec l'heure locale au
moment de l'affichage.
donc pour un dir/ls avant l'heure d'été, le fichier gmt est affiché en gmt+1
pour un dir/ls apres l'heure d'été, le fichier gmt est affiché en gmt+2

Avatar
JPM
On 26 mar, 17:40, "patrice"
wrote:
"JPM" a écrit dans le message denews:1174917811.
On 26 mar, 15:25, Vincent Lefevre <vincent+ wrote:

Est ce a dire que lorsque l'on passe a l'heure d'été, sous Windows l es
fichiers prennet une heure de plus, alors que sur un OS moderne,
l'heure des fichiers ne change pas ?


Les dates fichiers sont enregistré en gmt et affichée avec l'heure lo cale au
moment de l'affichage.
donc pour un dir/ls avant l'heure d'été, le fichier gmt est affiché en gmt+1
pour un dir/ls apres l'heure d'été, le fichier gmt est affiché en g mt+2


Desolé mais je ne comprend pas.

Sous Windows, j'ai 1 disque local D: et un disque monté via samba W:
A l'heure d'hivers, D:file.txt et W:file.txt avait la meme heure.

Apres le changement d'heure (+1h) j'ai
D:file.txt qui a 1 heure de plus que W:file.txt

Evidemment le boitier réseaux Linux qui exporte le disque samba est a
l'heure (GMT+1) avec syncro NTP, et c'est la meme heure que le PC sous
Windows.

Je comprend bien le gmt+1 ou le gmt+2. Sauf que c'est le decalage que
je ne comprend pas.

Ou alors, comme le fait remarquer Vincent, Windows transforme les
heures a sa convenance. Supposons que j'ai un fichier créé le 1
janvier a 10:00. Et bien a l'heure d'été il aura été créé le 1 janvier
a 11h00.
Alors que pour Linux, il reste le 1 janvier a 10h00 ce qui est la
realité.

Je vais me tourner vers les forums Windows.....


1 2 3