PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : suchen / ersetzen im Verzeichnis



ArnulfB
16.01.10, 12:49
Hi
Ich worde gerne ein ganzes Verzeichnis durchsuchen und in allen Dateien strings ersetzen.
Das wird wohl irgendwie mit find / grep gehen, aber ich weiß leider nicht wie.
Sinn ist, dass ich eine mit php geschreibene webseite habe wo ich in vielen Dateien zugangdaten für eine Datenbank ändern muss.
Ist schlecht geschreiben die Seite und mir ist aufgefallen dass sehr häufig die datenbank eingetragen ist.

wie könnte man das machen?
lg
Arnulf

m.o.o.
16.01.10, 13:00
Hallo,

dafür kann man sed mit der Option -i verwenden.

Gruß, Florian

derRichard
16.01.10, 13:02
Hi
Ich worde gerne ein ganzes Verzeichnis durchsuchen und in allen Dateien strings ersetzen.
Das wird wohl irgendwie mit find / grep gehen, aber ich weiß leider nicht wie.
Sinn ist, dass ich eine mit php geschreibene webseite habe wo ich in vielen Dateien zugangdaten für eine Datenbank ändern muss.
Ist schlecht geschreiben die Seite und mir ist aufgefallen dass sehr häufig die datenbank eingetragen ist.

wie könnte man das machen?
lg
Arnulf
zb so:



find /var/www -type f -iname "*.php" -exec sed -i {} -e 's/passwd=foo/passwd=neu/g' \;


hth,
//richard

ArnulfB
16.01.10, 13:08
ahhhh
sed - man lernt nie aus.
wie ich in der man page gesehen habe, kann man gut regexen verwenden.
na ich werde das mal testen, bin aber sehr zuversichtlich - schaut gut aus

vielen Dank

Arnulf

oziris
17.01.10, 00:35
Bei mysql ist auch ein Programm namens "replace" dabei, das finden manche einfacher als sed, aber es ist nicht so vielseitig und eben nicht überall installiert. Ich wollte es nur gesagt haben, weil auf Rechnern mit PHP oft auch mysql dabei ist. sed hingegen ist praktisch überall installiert.

pibi
21.01.10, 21:23
Ich worde gerne ein ganzes Verzeichnis durchsuchen und in allen Dateien strings ersetzen.
Sogar der gute alte "vim" kann das. Stichworte ":args" und ":argdo". Genial und einfach;-)

Gruss Pit.