Команда sed с опцией -i не работает на Mac, но работает на Linux - PullRequest
249 голосов
/ 22 ноября 2010

Я успешно использовал следующую команду 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' *

Ответы [ 11 ]

0 голосов
/ 27 октября 2014
sed -ie 's/old_link/new_link/g' *

Работает как на BSD, так и на Linux

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...