2011-01-07 15 views
2

Ich versuche, diese sed-Skript laufen auf alle Dateien in einem Verzeichnis:Sed nicht mit Befehl find arbeiten

sed.s:

/<constants>/a\ 
<const type="profElem" name="mission_description" value="NCEP and NCAR Reanalysis Monthly Means and Other Derived Variables"/> 

aber wenn ich laufen:

find . -exec sed -f sed.s -i {} \; 

ich den Fehler:

sed: -i may not be used with stdin 

Wie bekomme ich das zum Laufen?

+0

Wäre interessant, um die Liste der Dateien zu sehen. Könnten Sie das Ergebnis von 'finden. -exec echo {} \; ' –

Antwort

2

Es scheint, dass Ihre Version von sed erfordert, dass Sie eine Erweiterung für Sicherungen an die Option -i übergeben. Wenn Sie sich ziemlich sicher in Ihrem Befehl fühlen, könnten Sie versuchen, es eine Null-Länge-Erweiterung wie folgt zu geben:

find . -exec sed -f sed.s -i '' {} \; 
+0

Ah, mir fehlen die Zitate ... – victor