você poderia solucionar o -i
ausente como este (não testado):
for i in 'find . -name "*.java"'; do cp $i /tmp/$$; sed 's/foo/bar/g' < /tmp/$$ > $i;done
Estou tentando fazer uma descoberta recursiva e substituí-la no HP-UX e estou perdendo alguma coisa.
O que eu tenho no momento:
find . -name "*.java" | xargs sed 's/foo/bar/g'
Eu sei que o problema é que não está substituindo o arquivo inline. Eu acredito em outro sistema operacional, há um sinalizador -i, mas parece que na minha versão HP-UX, não existe.
Alguma sugestão?
você poderia solucionar o -i
ausente como este (não testado):
for i in 'find . -name "*.java"'; do cp $i /tmp/$$; sed 's/foo/bar/g' < /tmp/$$ > $i;done
Você sempre pode usar ed
find . -name "*.java" | while IFS= read -r file; do
ed "$file" <<ED_COMMANDS
%s/foo/bar/g
w
q
ED_COMMANDS
done