shell命令(涉及sed)可以在bash中工作,但不能在macos上的rake任务中工作

shell命令(涉及sed)可以在bash中工作,但不能在macos上的rake任务中工作,macos,operating-system,sed,rake,Macos,Operating System,Sed,Rake,我有一个执行shell命令的rake任务。当我从bash运行它时,替换工作正常,但是当我运行rake任务时,替换没有发生 我的rake文件: require'rake' 名称空间“性能测试”执行 任务:测试\u来宾\u生成do %x{sed-e's/NO-u-OF-GUESTS=\[.]/NO-u-OF-GUESTS=\[400,10]/'-i''db/seeds.rb} 结束 结束 在Mac OS终端中尝试该命令会执行替换: $sed-e's/NO-u-OF-GUESTS=\[.]/NO-u

我有一个执行shell命令的rake任务。当我从bash运行它时,替换工作正常,但是当我运行rake任务时,替换没有发生

我的rake文件:

require'rake'
名称空间“性能测试”执行
任务:测试\u来宾\u生成do
%x{sed-e's/NO-u-OF-GUESTS=\[.]/NO-u-OF-GUESTS=\[400,10]/'-i''db/seeds.rb}
结束
结束
在Mac OS终端中尝试该命令会执行替换:

$sed-e's/NO-u-OF-GUESTS=\[.]/NO-u-OF-GUESTS=\[400,10]/'-i''db/seeds.rb

嗯。。。不一定要诚实。你有没有试过逃离空间?你能粘贴你正在处理的行和期望的结果吗

避开空格(我也避开了反斜杠)是有效的。结果是这样的:%x{sed-e的/NO\u OF theu GUESTS\=\\[.]/NO\u OF theu GUESTS\=\\[400,10]/'-i''db/seeds.rb}