我在shell脚本中使用sed
命令来编辑&在osx(unix)环境中替换xml文件的某些文件内容。有什么办法可以避免sed使用-e
创建临时文件吗?我在脚本中执行以下操作以使用sed编辑文件。
sed -i -e 's/abc/xyz/g' /PathTo/MyEditableFile.xml
以上sed
命令效果很好但会创建一个额外的文件,因为/PathTo/MyEditableFile.xml-e
如何避免在-e
处创建额外文件?
我尝试了一些选项,例如设置sed
的临时文件夹路径,以便在/tmp/
中创建临时文件。像这样:
sed -i -e 's/abc/xyz/g' /PathTo/MyEditableFile.xml >/tmp
但似乎无法正常工作
答案 0 :(得分:1)
当您正在编辑文件(-i
)时,OS X sed
需要强制备份文件名。
您可以使用 - i ""
解决此问题:
sed -i "" -e 's/abc/xyz/g' /PathTo/MyEditableFile.xml