Dateien aendern - Datum erhalten
Hallo, ich moechte in einer Internet-Praesenz in einer Reihe von Dateien den Sourcecode veraendern. Da es sich um keine sichtbaren Aenderungen handelt, soll das von WML/perl generierte und auf den Seiten angezeige Aktualisierungatum natuerlich unveraendert bleiben. Bei den Aenderungen geht es nur darum, an den Anfang jeder Datei eine zusaetzliche Zeile einzufuegen und in einer anderen (wechselnden) Zeile ein Wort auszutauschen. Sonst erledige ich solche Arbeiten mit dem vim, aber dabei veraendert sich eben das mit ls -l angezeigte Datum, was fuer wml/perl massgeblich ist. Fuer eine Idee, wie ich das mit vertretbarem Aufwand erledigen koente, waere ich also sehr dankbar. Beste Gruesse, Heinz. -- http://www.pahlke-online.de/reisenews/ http://www.Pahlke-KunstWebDesign.de/
On 2005-01-14 15:52:02 +0100, Heinz W. Pahlke wrote:
Fuer eine Idee, wie ich das mit vertretbarem Aufwand erledigen koente, waere ich also sehr dankbar.
man touch Gruß Martin -- Martin Schröder, ms@artcom-gmbh.de ArtCom GmbH, Lise-Meitner-Str 5, 28359 Bremen, Germany Voice +49 421 20419-44 / Fax +49 421 20419-10 http://www.artcom-gmbh.de
Hallo, On 14-Jan-2005 Martin Schröder wrote:
On 2005-01-14 15:52:02 +0100, Heinz W. Pahlke wrote:
Fuer eine Idee, wie ich das mit vertretbarem Aufwand erledigen koente, waere ich also sehr dankbar.
man touch
Gut 100 Dateien manuell mit touch bearbeiten? Mit ein oder zwei Dutzend habe ich das schon getan, aber diesmal sind es zu viele. Ich weiss, man kann natuerlich per perl- oder bash-Script das Datum auslesen, die Datei mit perl oder sed bearbeiten und abschliessend das Datum mit touch wieder zuruecksetzen. Bloss damit bin ich ueberfordert. Und so hoffe ich auf eine fertige Loesung. Beste Gruesse, Heinz. -- http://www.pahlke-online.de/reisenews/ http://www.Pahlke-KunstWebDesign.de/
Am Freitag, 14. Januar 2005 16:21 schrieb Heinz W. Pahlke:
Hallo,
On 14-Jan-2005 Martin Schröder wrote:
On 2005-01-14 15:52:02 +0100, Heinz W. Pahlke wrote:
Fuer eine Idee, wie ich das mit vertretbarem Aufwand erledigen koente, waere ich also sehr dankbar.
man touch
Gut 100 Dateien manuell mit touch bearbeiten? Mit ein oder zwei Dutzend habe ich das schon getan, aber diesmal sind es zu viele.
Ich bin leider erst dabei, mich in die Shell-Programmierung einzulesen, daher kann ich dir nur einen Weg vorschlagen, den ich auf meinem Amiga verwendet habe: Eine Dateiliste erzeugen, die für jede Datei folgendes Format haben müßte: "touch -date=%d %s" wobei %d das Datum und %s der Dateiname wäre. Unter Amiga-OS mit list lformat="touch -date=%d %s" zu haben. Nach den Änderungen kannst du damit die Daten der Dateien wieder auf den ursprünglichen Stand zurücksetzen. Ein schwacher Versuch von, Michael -- ____ / / / / /__/ Michael Höhne / / / / / / mih-hoehne@t-online.de / _____________________________________/
On Friday 14 January 2005 07:21, Heinz W. Pahlke wrote:
On 14-Jan-2005 Martin Schröder wrote:
On 2005-01-14 15:52:02 +0100, Heinz W. Pahlke wrote:
Ich weiss, man kann natuerlich per perl- oder bash-Script das Datum auslesen, die Datei mit perl oder sed bearbeiten und abschliessend das Datum mit touch wieder zuruecksetzen. Bloss damit bin ich ueberfordert.
Eine Moeglichkeit: 1.) Referenzdateien anlegen: for i in file*.html; do touch -r $i $i.refts; done 2.) Nach dem Editieren den Zeitstempel zuruecksetzen: for i in *.refts; do j=$(echo $i | sed 's/.refts//'); touch -r $i $j; done Michael
Hallo, On 14-Jan-2005 Michael Siefritz wrote:
Eine Moeglichkeit:
1.) Referenzdateien anlegen:
for i in file*.html; do touch -r $i $i.refts; done
2.) Nach dem Editieren den Zeitstempel zuruecksetzen:
for i in *.refts; do j=$(echo $i | sed 's/.refts//'); touch -r $i $j; done
Wahnsinn. Wie man so etwas zusammenbasteln kann, finde ich schon phaenomenal. Jedenfalls habe ich nun zu tun. Erst einmal die Dateien bearbeiten und dann die manpages lesen, um wirklich zu verstehen, warum es funktioniert. Vielen Dank und einen schoenen Abend, Heinz. -- http://www.pahlke-online.de/reisenews/ http://www.Pahlke-KunstWebDesign.de/
Am Freitag, 14. Januar 2005 17:33 schrieb Heinz W. Pahlke:
On 14-Jan-2005 Michael Siefritz wrote:
Eine Moeglichkeit:
1.) Referenzdateien anlegen:
for i in file*.html; do touch -r $i $i.refts; done
2.) Nach dem Editieren den Zeitstempel zuruecksetzen:
for i in *.refts; do j=$(echo $i | sed 's/.refts//'); touch -r $i $j; done
Eine 2. Möglichkeit: Modifikationsdatum in einer Datei merken und anschließend zurücksetzen: # Datei anlegen for i in *; do mod="`stat -c %y \"$i\" | sed 's/\..*//'`" echo "touch -m -d \"$mod\" \"$i\"" >>repair_mod.sh done # nach dem Editieren zuruecksetzen sh ./repair_mod.sh Jan -- Linux-Quickies: http://www.jan-trippler.de PingoS: http://www.pingos.org
Am Freitag, 14. Januar 2005 19:23 schrieb Jan Trippler:
Am Freitag, 14. Januar 2005 17:33 schrieb Heinz W. Pahlke:
On 14-Jan-2005 Michael Siefritz wrote:
Eine Moeglichkeit:
Eine 2. Möglichkeit: Modifikationsdatum in einer Datei merken und anschließend zurücksetzen:
# Datei anlegen for i in *; do mod="`stat -c %y \"$i\" | sed 's/\..*//'`" echo "touch -m -d \"$mod\" \"$i\"" >>repair_mod.sh done
# nach dem Editieren zuruecksetzen sh ./repair_mod.sh
Das war es, was ich meinte. Werde ich mir auch mal zum Lernen beiseite legen. Gruß, Michael -- ____ / / / / /__/ Michael Höhne / / / / / / mih-hoehne@t-online.de / _____________________________________/
participants (5)
-
Heinz W. Pahlke
-
Jan.Trippler@t-online.de
-
Martin Schröder
-
Michael Hoehne
-
Michael Siefritz