• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Das Datum in einer Zeile in einer Datei ersetzen?

Pit2005

Newbie
Hallo,

ich habe gerade ein mittelschweren Denkknoten und hoffe das Ihr mir auf die Sprünge bzw. zur Lösung helfen könnt.

Also, ich habe eine Datei in der zum Beispiel folgendes steht:
PREFERRED_VERSION_gcc-cross-initial = "3.4.3"
PREFERRED_VERSION_mcp= "cvs-20050112"
PREFERRED_VERSION_joe = "3.1"

In der fettgedruckten Zeile möchte ich jetzt gerne per Script das Datum auf das von heute setzen. Habt Ihr eine Idee wie man das realisieren könnte? Bin für jeden Tip, jeden Codesnipsel sehr dankbar!

Danke und Gruss,
Pit
 
A

Anonymous

Gast
Den neuen Datumstring kannst du erzeugen mit
Code:
date +%G%m%d

und in einer Datei den String austauschen geht mit sed so
Code:
 sed -e '1,$s/OBST/GEMUESE/g' datei.org > datei.neu
Ändert in der gesammten datei.org jedes Vorkommen von "OBST" in "GEMUESE" und speichert die Ausgabe in datei.neu

Rest dürfte ne Kleinigkeit für dich sein. Ich habs mal in einer Zeile zusammengefasst, (bitte nicht abschreiben, die 4 Hochkomma sind 2 verschiedene Typen auch wenn sie alle hier gleich aussehen sollten,also nur kopieren und einfügen.)

Code:
sed -e '1,$s/cvs-[0-9][0-9][0-9][0-9][0-9[0-9][0-9[0-9][0-9][0-9]/cvs-'$(date +%G%m%d)'/g' datei.org > datei.neu

für alle die hier nur mal reinschauen, das hier war jetzt nicht ein verschlüsseltes Passwort sondern eine Befehlszeile

robi
 

regexer

Advanced Hacker
robi schrieb:
Code:
sed -e '1,$s/cvs-[0-9][0-9][0-9][0-9][0-9[0-9][0-9[0-9][0-9][0-9]/cvs-'$(date +%G%m%d)'/g' datei.org > datei.neu
Die vielen [0-9] lassen sich mit Multiplikator anders schreiben. Nämlich so:
Code:
 [0-9]\{10\}
Das bedeutet: die Ziffer 0-9 muss 10 mal hintereinander auftauchen.
 
Oben