Hi Thorsten, Thorsten Haude wrote:
Moin,
* Harry Rüter
[02-02-17 17:13]: Jede Datei mit einer bestimmten Endung (zb html) soll mit sed "behandelt" werden. find verzeichnis -name '*.html' -exec sed sedkrams {} \;
Ja, aber der Parameter nach dem -name soll ja variabel als Kommandozeilenparameter übergeben werden, deshalb wird er ja beim Aufruf des scripts mit "*.xyz" gequotet übergeben. Das ist das erste Problem: wie bekomme ich *.xyz an die Stelle hinter -name ?
sed soll eine Textersetzung machen und die Ausgabe auf eine temporäre Datei umleiten.
Nachdem sed fertig ist, wird die ursprüngliche Datei gelöscht, die temporäre Datei erhält den Namen der ursprünglichen Datei. Ist das wirklich nötig? Kann sed(1) nicht die Datei direkt ändern?
Meines Wissens schreibt sed auf die Standardausgabe, sonst würde ichs nicht so probieren. Kann ich denn nach dem exec überhaupt mehrere Befehle sequentiell ausführen ? Wie sieht denn die Ersetzung des gefundenen Dateinamens überhaupt aus ? Ist das etwa dieses {} ? Mein Gulbins/Obermayr und die man-Pages helfen mir irgendwie nicht weiter, ich steh' auf'm Schlauch ...
Thorsten
mfg Harry