Sie sind nicht angemeldet.

1

20.01.2005, 16:22

Umfanreiches Find and Replace Skript wie?

Also, folgendes; ich habe eine Homepage, naja ich hab sie nicht aber irgendwie doch. Jedenfalls war die mal asp. Da kam ein etwas älterer Herr und meinte oha, mit asp2php.exe kann ich da ja php draus machen. Ja und so ward es dann auch. Aus asp wurde naja zumindest kein php. Aber da man ja unbedingt php will, sitz ich nun da und darf die kagge ausbaden.

Sind etwa 80 Seiten, alle verhunzt. Ich hab die Fehler auch schon gefunden und ich hab auch rausgefunden das ich zu faul bin, jede Seite einzeln zu editieren, weil mir das zu dumm wird. Daher brauche ich ein Skript. Das soll folgendes tun:

Suche ausgehend vom aktuellen Verzeichn. nach allen Dateien mit der Endung php.
Wenn Du eine findest, mach Sie auf und prüfe den Inhalt auf folgende vier Fehler:
1. befindet sich dort die Zeichenkette <? $@EnableSessionState=false; ?>
wenn ja dann mache daraus ein <? $EnableSessionState=false; ?>

2. befindet sich in der Datei eine Zeichenkette header("Expires: ".0);
wenn ja dann mache daraus ein #header("Expires: ".0);

3. befindet sich dort die Zeichenkette .asp
wenn ja dann mach daraus ein .php

4. und jetzt das allerdollste;
befindet sich dort eine Include-Anweisung für eine PHP Datei dann bitte Include die entsprechende PHP-Datei.

Die Includes die da drin stehen sehen so aus:
<!-- #Include file="../inclds/inc_submenu-ingenieur.php" -->

die Datei die angegeben ist kann auch an exakt dem Ort gefunden werden, nur sollte da kein Include stehen, das geht ja eben nicht sonder soll da jetzt der Inhalt aus eben der Datei rein.


Ausgehend von awk grep sed und find habe ich keine Ahnung wie ich das Skript sinnvoll durch die Verzeichnisse suchen lassen kann und auch nicht wie ich existierende Strings ersetze.

Ich bin für jede und damit meine ich jede noch so kleine Hilfe dankbar.

Gruß und Dank

Johannes A. Brunner

Konsolen-Noob der neusten Generation :-)
'Darf ich das als Signatur verwenden?'

2

20.01.2005, 16:28

RE: Umfanreiches Find and Replace Skript wie?

zu 4.
Wieso meinst Du gehen include-Anweisungen nicht? Wenn Du das ganze richtig eiinfügst, wird das auch gehen, iss auf jeden Fall besser, als den Inhalt in jede Datei reinzuhämmern, wo mal included wird..

Generell
Ich weiss zwar jetzt auf die schnelle nicht, welcher, aber es gibt Editoren, die Verzeichnisweit ersetzen können..
(Früher unter Windows machte das Phase5.. ;) )
Just because an OS holds 90% of the market doesn`t mean it`s superior.
Remember 90% of all animals are insects.

Wer sucht der findet..

3

20.01.2005, 16:31

Ok aber wie kann ich in einer PHP/HTML Datei eine Include Anweisung verwenden ???
Ich hab bis jetzt keine Möglichkeit gefunden das zu machen. Das wäre natürlich auch ok, aber dann muß ich den Include String ersetzen. Auf jeden Fall muß da was anderes hin als jetzt da steht.

Gruß Dank Johannes
'Darf ich das als Signatur verwenden?'

4

20.01.2005, 16:34

Da kommt rein:

PHP-Quelltext

1
include "deinedatei.php";

fertig.. Mehr iss es nicht..
Just because an OS holds 90% of the market doesn`t mean it`s superior.
Remember 90% of all animals are insects.

Wer sucht der findet..

5

21.01.2005, 10:28

OK, das is ja schon mal was. Ich hab bis jetzt ein Skript, das nach dem Aufrufen in einem als Parameter angegebenen Verzeichnis alle PHP Dateien sucht und der Reihe nach durchgeht.

Wie sag ich dem Skript noch das er jetzt bestimmte Strings durch andere ersetzen soll???

Danke für Deine Hilfe

Johannes
'Darf ich das als Signatur verwenden?'

6

21.01.2005, 10:56

Ok, wenn ich eine Datei mit Fehler gefunden habe will ich sed laufen lassen. Das sieht dann bei mir so aus und funzt net.

Quellcode

1
sed -n '/$@/s//$/g' $Datei


Schaut komisch aus, is aber so es sollte doch dann eigentlich jedes $@ durch ein $ ersetzt werden, oder ???
'Darf ich das als Signatur verwenden?'

7

21.01.2005, 11:24

ok, hab es endlich geschaft, wenn ich heim komme poste ich mal das skript, vieleicht kennt einer noch verbesserungen.
'Darf ich das als Signatur verwenden?'

Thema bewerten