Bonjour,
Je m’arrache les cheveux à trouver une commande élégante pour rechercher avec find
des vieux fichiers doc et xls ayant une date de modification erronée (31/12/1997) et remplacer celle-ci par la date conservée dans les propriétés lues par file
.
J’arrive pour l’instant à trouver les fichiers, afficher leur date de modification erronée et à afficher leurs propriétés :
find . \( -name *.doc -o -name *.xls \) -newermt 1997-12-30 ! -newermt 1998-01-01 -printf %p\|%T+\| -exec file -b {} \;
Ça me renvoie par exemple :
./chemin/vers/fichier.doc|1997-12-31+21:19:56.0000000000|Composite Document File V2 Document, Little Endian, Os: Windows, Version 4.10, Code page: 1252, Title: xxx , Author: xxx, Template: Normal.dot, Last Saved By: xxx, Revision Number: 4, Name of Creating Application: Microsoft Word 8.0, Total Editing Time: 05:00, Create Time/Date: Wed Feb 6 13:33:00 2002, Last Saved Time/Date: Wed Feb 6 15:06:00 2002, Number of Pages: 1, Number of Words: 1366, Number of Characters: 7788, Security: 0
Dans un premier temps j’aimerais juste filtrer la sortie de file
avec seulement la valeur de Last Saved Time/Date
mais je n’arrive pas à faire suivre file
d’un tube avec par exemple sed
ou awk
.
Comment faire ?
Merci
LSam