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

Bash sed脚本-对临时文件的权限被拒绝,bash,sed,permissions,permission-denied,Bash,Sed,Permissions,Permission Denied,我只是使用find和sed的组合来替换目录文件中的字符串 find . -type f -exec sed -i 's,foo,bar,g' {} + 它完成了任务。之后,我注销了通过SSH连接的服务器,然后记住,我需要再次运行该命令。因此,我使用稍微修改的find/replace字符串启动了相同的命令,但它不再工作,出现以下错误: sed: couldn't open temporary file ./sedPFq4Ck: Permission denied 现在怎么了 FWIW:每次尝试

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

find . -type f -exec sed -i 's,foo,bar,g' {} +
它完成了任务。之后,我注销了通过SSH连接的服务器,然后记住,我需要再次运行该命令。因此,我使用稍微修改的find/replace字符串启动了相同的命令,但它不再工作,出现以下错误:

sed: couldn't open temporary file ./sedPFq4Ck: Permission denied
现在怎么了


FWIW:每次尝试新文件后,所述临时文件的文件名都会更改。

在原地编辑文件时,sed会创建一个临时文件,保存结果,最后将原始文件与临时文件合并

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


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

在原地编辑文件时,sed会创建一个临时文件,保存结果,然后最终将原始文件与临时文件合并

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


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

@beta这是一个模棱两可的问题,请检查目录的权限,您在其中没有写入权限。可能在第一次,您是作为具有权限的其他用户运行的。好的,抱歉。我的管理员在两次尝试之间更改了权限。我没有意识到这一点。我有一个类似的问题,我只运行sed,但运行sudo,我收到了类似的消息。你知道我为什么不能做到吗sudo@beta这是一个模棱两可的问题,请检查目录的权限,您在其中没有写入权限。可能在第一次,您以具有权限的其他用户的身份运行它。好的,对不起。我的管理员在两次尝试之间更改了权限。我没有意识到这一点。我有一个类似的问题,我只运行sed,但运行sudo,我收到了类似的消息。你知道为什么尽管sudo我还是做不到吗