Sous Linux, est-il possible de modifier le contenu d'un fichier tout en conservant sa date de modification ? Si oui, comment ? Je vous remercie.
Réponses
Trop de publicités?Obtenez la date de modification de votre fichier. Modifiez le contenu de vos fichiers et vous pourrez alors changer la date de modification en touch
Par exemple
touch -m -t 09082000 file
to change the modification time to 8 sep, 20:00.
Vous pouvez également changer la date de modification pour qu'elle soit antérieure. Pour le 15/10/1998 12:30, la commande serait quelque chose comme ceci :
touch -m -t 19981015123000 file
Vous pouvez mémoriser la date de modification avant de modifier le contenu ; après la modification du contenu, vous pouvez ramener la date à sa valeur initiale. Cela peut se faire sous Linux à partir de la ligne de commande. Par exemple :
touch -t 09082000 fichier pour changer l'heure de modification en 8 sep, 20:00. Plus d'informations est disponible ici.
Comme j'ai eu un problème similaire et que j'ai trouvé cette question via Google, je vais donner une solution simple et automatique. Je stocke le temps de modification actuel dans la variable CURRENT
Puis, après avoir modifié le fichier, j'ai remis l'heure de modification à son heure d'origine via touch
. Notez que l'obtention de l'horodatage pour current est un peu maladroite, vous devrez peut-être la modifier un peu.
FILE=test.txt
touch $FILE
CURRENT=$(date -r $FILE +%Y%m%d%H%M)
# run your command here
touch $FILE
touch -a -m -t $CURRENT $FILE