Hallo Leute, es handelt sich um ein ganz "einfaches", fast peinliches Anliegen. Ich habe ein Script, das mir die Arbeit an einer unvorstellbar langen Php Datei erleichtern soll. Dieses Script ist dazu da, bei einer sehr sehr sehr langen if Abfrage einzelne Werte auszutauschen, nun soll das Shell Script mir jedoch Html Code innerhalb einer Php Datei ersetzen, was bedeutet, dass Escape Zeichen (\) schon im zu ändernden Text vorhanden sind, und mit berücksichtigt werden sollen, zur Verdeutlichung einmal mein Script:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #! /bin/sh STRSEARCH='<font color=\"yellow\"><br>' STRREPLACE='<font color=\"#00CED1\"><br>' find "/home/dpp/Dokumente/AH/itmm.txt" -type f -name 'itmm.txt' -print | while read i do cp "$i" "$i.tmp" if [ -f "$i.tmp" ] then #echo "s/$STRSEARCH/$STRREPLACE/g" sed "s/$STRSEARCH/$STRREPLACE/g" "$i" > "$i.new" if [ -f "$i.new" ] then mv "$i.new" "$i" else echo "$i.new doesn't exist" fi else echo "$i.tmp wasn't created" fi done |
Soweit so gut, nun soll in der Php Datei "<font color=\"yellow\"><br>" mit "<font color=\"#00CED1\"><br>" ersetzt werden, samt aller Sonderzeichen die enthalten sind! Ich habe schon alles versucht, einzelne Hochkommas statt Anführungszeichen, Das Escape mehrfach Escapen, einzelne Werte mit Hochkommas eingrenzen, ich weiß echt nicht mehr weiter und hoffe ihr könnt dazu beitragen, dass es wie gewünscht funktioniert, da ich andernfalls Stundenlange Arbeit für Copy & Paste benötige (die Php Datei ist bereits circa 8000 Zeilen lang und wird sich sicher noch vervierfachen, warum? Weil ich einfach nicht gerade die dynamischsten Php Lösungen parat habe, dennoch alles selber mache 😀 ) Mfg Arkved