Trochę starej szkoły, ale działało to na OS X.
Jest kilka trików:
• Będzie edytować tylko pliki z rozszerzeniem .sls
w bieżącym katalogu
• .
należy uciec, aby upewnić się, sed
że nie ocenia ich jako „żadnej postaci”
• ,
jest używany jako sed
separator zamiast zwykłego/
Pamiętaj też, że jest to edycja szablonu Jinja, aby przekazać variable
ścieżkę import
(ale to nie jest temat).
Najpierw sprawdź, czy polecenie sed robi to, co chcesz (spowoduje to wydrukowanie zmian tylko na standardowe wyjście, nie spowoduje to zmiany plików):
for file in $(find . -name *.sls -type f); do echo -e "\n$file: "; sed 's,foo\.bar,foo/bar/\"+baz+\"/,g' $file; done
W razie potrzeby edytuj polecenie sed, gdy będziesz gotowy do wprowadzenia zmian:
for file in $(find . -name *.sls -type f); do echo -e "\n$file: "; sed -i '' 's,foo\.bar,foo/bar/\"+baz+\"/,g' $file; done
Zauważ, że -i ''
w sed polecenia, nie chcę, aby utworzyć kopię zapasową oryginalnych plików (jak wyjaśniono w w miejscu edycji z sed na OSX lub w komentarzu Roberta LUJO w tej stronie).
Szczęśliwi ludzie z sedingu!