Un po 'vecchia scuola ma questo ha funzionato su OS X.
Ci sono alcuni trucchi:
• Modifica solo i file con estensione .sls
nella directory corrente
• .
deve essere evitato per assicurarsi sed
che non li valuti come "qualsiasi carattere"
• ,
è usato come sed
delimitatore invece del solito/
Nota anche che serve per modificare un modello Jinja per passare a variable
nel percorso di un import
(ma questo è fuori tema).
Innanzitutto, verifica che il tuo comando sed faccia quello che vuoi (questo stamperà solo le modifiche a stdout, non cambierà i file):
for file in $(find . -name *.sls -type f); do echo -e "\n$file: "; sed 's,foo\.bar,foo/bar/\"+baz+\"/,g' $file; done
Modifica il comando sed quando necessario, quando sei pronto per apportare modifiche:
for file in $(find . -name *.sls -type f); do echo -e "\n$file: "; sed -i '' 's,foo\.bar,foo/bar/\"+baz+\"/,g' $file; done
Nota -i ''
nel comando sed , non volevo creare un backup dei file originali (come spiegato in Modifiche sul posto con sed su OS X o nel commento di Robert Lujo in questa pagina).
Felice gente seding!