Sie könnten das fehlende -i
Problem so umgehen (ungeprüft):
for i in `find . -name "*.java"`; do cp $i /tmp/$$; sed 's/foo/bar/g' < /tmp/$$ > $i;done
Ich versuche ein rekursives Suchen und Ersetzen in HP-UX durchzuführen und etwas fehlt.
Was ich momentan habe:
find . -name "*.java" | xargs sed 's/foo/bar/g'
Ich weiß, das Problem ist, dass die Datei nicht inline ersetzt wird. Ich glaube, bei anderen Betriebssystemen gibt es eine -i-Flagge, aber in meiner HP-UX-Version scheint es keine zu geben.
Irgendwelche Vorschläge?
Sie könnten das fehlende -i
Problem so umgehen (ungeprüft):
for i in `find . -name "*.java"`; do cp $i /tmp/$$; sed 's/foo/bar/g' < /tmp/$$ > $i;done
Sie könnten immer verwenden ed
find . -name "*.java" | while IFS= read -r file; do ed "$file" <<ED_COMMANDS %s/foo/bar/g w q ED_COMMANDS done