我需要我的脚本来编辑和强制写入只读文件

时间:2016-03-24 13:14:28

标签: bash vi readonly

我有一个改变文件中的行的脚本。哪个工作正常,但从此以后,文件将是只读的。我试过改变wq到wq! (正如我在VI中所做的那样)但这似乎没有效果。我也试过" zz"哪个也什么也没做。

我感谢任何帮助;谢谢。

    @Around("execution(* *.*(..)) && @annotation(com.xyz.MonitorMethod)")
public Object check(ProceedingJoinPoint  pjp) throws Throwable {
    try {
        return pjp.proceed();
    } finally {
        System.out.println("======================222");
    }
}

2 个答案:

答案 0 :(得分:0)

如果您对包含该文件的目录具有写入权限,则可以在重写之前将其删除。如果您可以访问GNU sed,那就是sed -i将要执行的操作。

我不熟悉ed,但我认为以下sed命令会执行与命令相同的操作:

sed -i 's/<DataType>EDI<\/DataType>/<DataType>830<\/DataType>/g' /data1/Inbound/$DATE/$MSG 

此外,如果您不是该文件的所有者,则该目录不得设置粘滞位,否则您将无法删除该文件。

答案 1 :(得分:0)

将此添加到.vimrc:

" Allow saving of files as sudo when I forgot to start vim using   sudo.
cmap w!! w !sudo tee > /dev/null %

然后使用&#34;:w !!&#34;然后&#34;:q&#34;而不是&#34;:wq&#34;

有关命令的说明,请参阅this question