маке он работает правильно:
replace() {
local from=${1}
local to=${2}
local file=${3}
sed -i '' "s/$from/$to/g" $file
}
А на убунте говорит, что файл, который в этой строке s/$from/$to/g не найден. Я так подозреваю это изза разных sed, которые по-разному обрабатывают параметры на мак и на линуксе.
Подскажите, как мне написать эту часть скрипта кросплатформенно, чтобы он работал и на маках и на убунте?
Он должен заменять все вхождения $from на $to в файле $file при этом сохранять результат работы в этот же файл без сохранения бекапа
Придётся дублировать и определять какой сед используется
Обсуждают сегодня