Команда Sed работает в Linux, но не в OS X

Я использую эту команду sed в Linux, чтобы исправить один файл , и она отлично работает:

sed -i -r "s/(\tpublic function __call.*)/\1\n\t\treturn null;/" rb.php

Но когда я пробую эту команду в OS X, я получаю сообщение об ошибке:

sed: 1: "s/(\tpublic function __ ...": \1 not defined in the RE

Итак, может ли кто-нибудь помочь мне создать команду, которая будет работать как в Linux, так и в OS X?

Кстати, я пробовал такую ​​команду:

sed -i '' -r "s/(\tpublic function __call.*)/\1\n\t\treturn null;/" rb.php

, но она не работает в Linux.

14
задан Ivica 27 October 2011 в 09:06
поделиться