Мне нужно запустить sed -e 'command' -e 'command' file.txt
, но я получаю эту ошибку на mac: sed: -e: No such file or directory
. Любая идея, как это исправить?Более одного '-e' в sed на OSX
2
A
ответ
3
отлично работает с моим sed
:
$ echo ax | sed -e 's/a/b/' -e 's/x/y/'
by
$ uname -a
Darwin Equinox.local 12.3.0 Darwin Kernel Version 12.3.0: Sun Jan 6 22:37:10 PST 2013; root:xnu-2050.22.13~1/RELEASE_X86_64 x86_64
$ which sed
/usr/bin/sed
Таким образом, проблема должна быть в другом месте. Судя по вашей команде дается в комментариях, я хотел бы попробовать передавая ''
аргумент в -i
опции:
$ sed -i '' -e "s/\.$REGIONID\./\./" -e "/\.$NONREGIONID\./d" application.conf
С оговоркой, описанной в справочной странице:
Если расширение нулевой длины дается , резервная копия не будет сохранена. Он не рекомендуется давать расширение нулевой длины, когда в месте редактирования файлов, так как вы рискуете коррупции или частичное содержание в ситуациях, когда исчерпаны дисковое пространство и т.д.
+0
да' ''' после того, как 'i' исправил ее. благодаря! – Michael
Работает хорошо здесь - вы можете показать точная команда, которую вы используете? –
sed -i -e "s /\.$ REGIONID \ ./ \ ./" -e "/\.$NONREGIONID\./d" application.conf – Michael
Вы не можете использовать '-i' без расширения, и ваш второй '-e' не начинается с команды. –