sed脚本 - 临时文件的权限被拒绝

时间:2016-04-04 13:46:45

标签: bash sed permissions permission-denied

我只是使用find和sed的组合来替换目录文件中的字符串。

find . -type f -exec sed -i 's,foo,bar,g' {} +

完成了工作。之后我注销了服务器(通过SSH连接),然后记住,我需要再次运行命令。所以我用略微修改的查找/替换字符串发出了相同的命令,但它不再起作用,给出以下错误:

sed: couldn't open temporary file ./sedPFq4Ck: Permission denied

现在有什么问题?

FWIW:每次尝试后,所提到的临时文件的文件名都会改变。

1 个答案:

答案 0 :(得分:4)

在编辑文件时,sed会创建一个临时文件,保存结果,最后mv原始文件和临时文件。

问题是您在sed尝试创建临时文件的目录中没有写权限。

由于文件为./sedPFq4Ck,请检查运行find命令的目录的权限。