Changement d'heure sur un ensemble de fichier

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Nicolas George
Le #730889
"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.

Pascal Bourguignon
Le #730888
"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.


Mieux lire: man find

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


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

Nicolas George
Le #730886
Pascal Bourguignon wrote in message
Mieux lire: man find


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

QuisssT
Le #730632
On 26 mar, 11:43, 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 ?


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 ?


Stephane Chazelas
Le #730631
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

Vincent Lefevre
Le #730627
Dans l'article QuisssT
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 100% accessible validated (X)HTML - Blog: Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)

JPM
Le #730626
On 26 mar, 15:25, Vincent Lefevre
Dans l'article QuisssT
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 100% accessible validated (X)HTML - Blog: 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 ?


Vincent Lefevre
Le #730624
Dans l'article JPM
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 100% accessible validated (X)HTML - Blog: Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)

patrice
Le #743602
"JPM" news:
On 26 mar, 15:25, Vincent Lefevre
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

JPM
Le #743601
On 26 mar, 17:40, "patrice" wrote:
"JPM" On 26 mar, 15:25, Vincent Lefevre
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.....


Publicité
Poster une réponse
Anonyme