PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : In Datein eines Untervertzeichnisbaumes eine Zeile einfügen



ulzf
03-11-2004, 12:00
Hallo Leute!
wie der Titel sagt, ich will gerne ein Skript schreiben, das in jede Datei (*.php) in einem bestimmten Ordner (auch Dateien in Unterverzeichnisse) eine Zeile (ganz oben) einfügt!
Wie kann ich das anstellen...
ich weiß, es ist mit head, tail, eine for schleife oder while schleife zu machen aber genau weiß ich das nicht...

bitte helft mir...

peschmae
03-11-2004, 12:08
find -name "*.php" -exec cp {} {}.tmp; echo "meine Zeile" > {}; mv {}.tmp {} \;

Ungetestet

MfG Peschmà

ulzf
03-11-2004, 12:21
erstmal danke für die schnelle Antwort
ich verstehe aber nicht ganz was da gemacht wird...

Ausserdem funzt es nicht bei mir...

sticky bit
03-11-2004, 16:10
Statt dem -exec cp {} {}.tmp; echo "meine Zeile" > {}; mv {}.tmp {} \; müsste es ein -exec perl -p -i -e 'print("meine Zeile\n") if $. == 1;' {} \; tun, das sollte a) um einiges schneller gehen und man spart sich b) die temporäre Datei (kann aber ein Backup behalten, wenn man hinter den -i schalter noch was schreibt z.B. -i~, dann haben die Backup kopien der Dateien eben die Tilde am Schluss), muss aber natürlich PERL installiert haben...