我有一个bash脚本,它将php常量替换为所需的常量,例如define('xxxx',....);
。
签署人:
sudo sed -E -i "" "s/^(define).*(${2})[\'|\"].*/${3}/g" "$file"
问题是在ubuntu上,由于i之后的额外空间,它失败了。
-i ""
如果我删除这个空间,它将在ubuntu上工作,但在macos上不工作,例如给出一个错误。
sed: 1: "../config.php ...": invalid command code
我有什么办法可以在尼克斯和平地执行这个命令?
提前感谢您的时间和知识。
最佳答案
sudo perl -pi -e "s/^(define).*(${2})[\'|\"].*/${3}/g" "$file"
不过,我怀疑你的意思是。
关于linux - 如何修复SED就地替换Mac OS和Ubuntu问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10811458/