manuel321
Goto Top

SED bzw String ersetzen

Ich hab das Problem das ich aus einer Datei einen String in viele andere Dateien ersetzen muss. Ich hab schon mal versucht etwas zu programmieren bzw auf vielen Seiten nach vorhandenen Codes gesucht aber noch keinen erfolg gehabt.
Vielleicht hat ja einer von euch schon mal einen string in dateien ersetzt und kann mir einen Tipp geben.

Content-ID: 39507

Url: https://administrator.de/forum/sed-bzw-string-ersetzen-39507.html

Ausgedruckt am: 16.02.2025 um 17:02 Uhr

8644
8644 06.09.2006 um 12:04:43 Uhr
Goto Top
Mahlzeit,

bemühe mal die Suche im Forum! Solche Sachen wie Text ersetzen bringen enorm viele Treffer! Interessant wäre auch zu wissen, in welcher Sprache du das ganze umsetzen möchtest! Wenn du dich hier im Bereich Batch und Shell mal umschaust, findest du evtl. schon eine fertige Lösung.

Psycho
manuel321
manuel321 06.09.2006 um 12:18:00 Uhr
Goto Top
Jo, hab ich mal gemacht aber irgendwie komm ich net weiter, also ich will mit Linux, Shell
Strings aus php und shtml Dateien ersetzen, jeweils immer eine Zeile. Ich hab auch schon mal was programmiert und schon auf diversen Websiten nach Hilfen geschaut, aber bin leider noch net fündig geworden.
11078
11078 06.09.2006 um 12:21:29 Uhr
Goto Top
Hallo,

schließe mich Psycho an, habe aber noch einen zusätzlichen Tipp: PERL

Besonders wenn die Anforderungen an das Finden des zu ersetzenden Textes alles andere als trivial sind, bieten PERL und seine Regular Expressions einen guten Ansatz.

Allerdings steht PERL ja nicht immer zur Verfügung...


Wenn es eine einmalige Sache (und nicht tausende Dokumente) sein soll, kannst Du das Problem evtl. auch mit einem Editor wie JEdit lösen. Der beherrscht auch Regular Expressions, hat eine gute "Ersetzen"-Funktion und kann diese auf alle geöffneten Dokumente gleichzeitig anwenden.

Suche auf jeden Fall auch nach dem Stichwort "Regular Expressions"!


Gruß,
Tim
8644
8644 06.09.2006 um 12:32:07 Uhr
Goto Top
also ich will mit Linux, Shell...
Das sind doch schon mal Aussagen, die weiter helfen!
Ich hab auch schon mal was programmiert
Immer her damit!

Psycho
manuel321
manuel321 06.09.2006 um 13:30:36 Uhr
Goto Top
also hier mal das was ich schon hab


echo "Beginne mit der Konvertierung"

SRC='<img src="images/pfarrei/nentershausen.jpg" border="0" >'
#SRC="\<img\ src\=\"images\/pfarrei\/nentershausen\.jpg\"\ border\=\"0\"\>"
echo "$SRC"

DEST="\<img src=\"\/design2006\/images\/portal\_bistum.jpg\"\ border\=\"0\"\ alt\=\"Titelbild\"\ title\=\"Titelbild\"\ class\=\"imgBorder\"\/\>"
echo "$DEST"

sed 's/'"$SRC"'/'"$DEST"'/g' nentershausen.shtml

exit

Das bekomme ich jedoch wenn ich es starte

Beginne mit der Konvertierung
<img src="images/pfarrei/nentershausen.jpg" border="0">  
\<img src="\/design2006\/images\/portal\_bistum.jpg"\ border\="0"\ alt\="Titelbild"\  title\="Titelbild"\ class\="imgBorder"\/\>   
sed: -e expression #1, char 28: unknown option to `s'   
epnbmt:/tmp # 


[Edit Biber] Als "code" umformatiert (soweit möglich) [/Edit]
8644
8644 06.09.2006 um 13:36:53 Uhr
Goto Top
Ich weiss nicht, ob das jetzt ein Problem von mir ist oder ein allgemeines, aber ich sehe keine Bilder! Ist aber beim Posten von code eigentlich auch nicht nötig!

Psycho
manuel321
manuel321 06.09.2006 um 14:04:04 Uhr
Goto Top
ne da sollten auch keine bilder sein, komm wahrscheinlich dadurch das da .jpeg steht
11078
11078 06.09.2006 um 14:07:24 Uhr
Goto Top
Hallo,


die Syntax ist doch vereinfacht so:

sed 's/altes Muster/neues Muster/' datei


Müsste es bei Dir dann nicht so heißen:
sed 's/$SRC/$DEST/g' nentershausen.shtml

Probier es auch mal aus ohne Variablen und stattdessen mit ausgeschriebenem alten und neuem Muster.

By-the-way: "nentershausen" --> das Nentershausen in Hessen?


Gruß,
Tim
manuel321
manuel321 06.09.2006 um 15:38:16 Uhr
Goto Top
jo danke, das probier ich mal und ja das ist in Hessen =)