Escape da barra, escrevendo \/
Você também pode fazer:
perl -pi -e 's!original!result!g' *java
usando ! como um delimitador em vez de / . Isso é um pouco mais curto do que usar o recurso Localizar & sed.
Então cheguei à conclusão de que, para recursivamente substituir todas as instâncias de uma string no diretório (somente para arquivos de extensões .java), preciso usar
find . -type f -name "*.java" -exec sed -i 's/original/result/g' {} +
No entanto, o que eu faço se a string que estou tentando substituir contiver / ?
Por exemplo, eu quero substituir a string /*Comment*/ por algumas palavras normais, quais delimitadores devo usar, para que o sed funcione corretamente?
Você pode usar qualquer delimitador usando sed também (não apenas com perl como @ vesa-karjalainen sugerido), por exemplo
find . -type f -name "*.java" -exec sed -i 's:original:result:g' {} +