Dateien ändern, ohne Modifkationsdatum zu ändern

Datum: 2005-01-14
Quelle: suse-linux

Worum ging es?

Es soll eine Liste von Dateien geändert werden, ohne ihr Modifikationsdatum zu aktualisieren.

Code
# Modifikationsdaten merken / store the modification times
for i in *; do
  mod="`stat -c %y \"$i\" | sed 's/\..*//'`"
  echo "touch -m -d \"$mod\" \"$i\"" >>repair_mod.sh
done
# TODO Dateien editieren / edit the files
# Modifikationsdaten zuruecksetzen / reset modification times
sh ./repair_mod.sh
Beschreibung

Zuerst werden die bisherigen Zeitstempel der Dateien ausgelesen und formatiert. Dann wird eine Zeile der Form touch -m -d "YYYY-MM-DD hh:mm:ss" "file" in ein Shell-Script repair_mod.sh geschrieben. Nach dem Editieren wird diese Datei ausgeführt, dies setzt das Modifikationsdatum auf den ursprünglichen Wert zurück.