权限 – 使用Sed时拒绝权限

前端之家收集整理的这篇文章主要介绍了权限 – 使用Sed时拒绝权限前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Sed来查找和替换文件中的字符串.这是第一次使用它,所以我可能做错了,

我有一个由“root”拥有的文件,名为“test.properties”,我想用“cat”替换“world”.

所以我运行这个命令:

sudo sed s/world/cat/ <test.properties >newtest.properties

它工作得很好,但是当我想写这样的SAME文件时:

sudo sed s/world/cat/ <test.properties >test.properties

它说“-bash:test.properties:Permission denied”,但我使用的是“sudo”,为什么会被拒绝?

解决方法

不要运行您尝试运行的命令

如果您尝试将输出从sed重定向回相同的文件,它将将其清空,删除所有文件内容.尝试这样的事情:

sed s/world/cat/ <test.properties >newtest.properties && sudo mv newtest.properties test.properties

您获得权限被拒绝,因为命令的重定向部分不是通过sudo运行,而是以普通用户身份运行.

第一个命令有效,因为您只是读取第一个文件并写入您拥有的文件,因此您可以使用常规用户.

猜你在找的Linux相关文章