Я успешно использовал следующую sed
команду для поиска / замены текста в Linux:
sed -i 's/old_link/new_link/g' *
Однако, когда я пробую это на моем Mac OS X, я получаю:
"команда c ожидает \ сопровождается текстом"
Я думал, что мой Mac работает с нормальной оболочкой BASH. Что происходит?
РЕДАКТИРОВАТЬ:
Согласно @High Performance, это связано с тем, что Mac sed
отличается (BSD), поэтому мой вопрос будет таким: как мне повторить эту команду в BSD sed
?
РЕДАКТИРОВАТЬ:
Вот фактический пример, который вызывает это:
sed -i 's/hello/gbye/g' *
sed
видит «c» в ваших данных как команду. Вы используете переменную? Пожалуйста, опубликуйте что-то, что более точно отражает фактическую команду и некоторые данные, которые вы обрабатываете. Вы можете получить простую демонстрацию этой ошибки, выполнивecho x | sed c
.