Sto usando il seguente comando sul mio mac:
$find . -name “*.java” -exec sed -i ’s/foo/bar/g’ {} \;
e sembra non avere alcun effetto.
Ho due file nella directory che terminano in .java, che contengono entrambi il testo di foo. Mi sto perdendo qualcosa?
EDIT: risultati dalla richiesta di commenti
[aafghani-03:~/test amirafghani]$ find . -name "*.java" -exec sed -i 's/foo/bar/g' {} \;
sed: 1: "./bar.java": invalid command code .
sed: 1: "./foo.java": invalid command code .
"
e '
.
-exec
e tutto dopo? Stampa i nomi dei file Java? (Sono preoccupato che stai usando virgolette intelligenti invece di virgolette ASCII.)