Windows 使用';修改后是否需要关闭文件;sed';?

Windows 使用';修改后是否需要关闭文件;sed';?,windows,bash,shell,Windows,Bash,Shell,我有一个shell脚本,其中包含一个sed命令,该命令可以插入到现有文件中: sed -i "/<test name=\"test-$NUMBER\">/i $NEW_TEST_SUITE" test.xml 但是,当我尝试进行漂亮的打印(通过单击CTRL+ALT+SHIFT+B)并保存该文件时,它会弹出一个警告,说: 请检查此文件是否在其他程序中打开 所以我在想,这可能是由于修改了文件而没有关闭它造成的吗?使用sed后是否需要关闭文件?如果是这样,你能告诉我命令是什么吗?因为我在

我有一个shell脚本,其中包含一个
sed
命令,该命令可以插入到现有文件中:

sed -i "/<test name=\"test-$NUMBER\">/i $NEW_TEST_SUITE" test.xml
但是,当我尝试进行漂亮的打印(通过单击CTRL+ALT+SHIFT+B)并保存该文件时,它会弹出一个警告,说:

请检查此文件是否在其他程序中打开


所以我在想,这可能是由于修改了文件而没有关闭它造成的吗?使用
sed
后是否需要关闭文件?如果是这样,你能告诉我命令是什么吗?因为我在网上搜索过,但没有找到任何与此相关的内容?(我的平台是Windows 7)

否。当sed退出时,文件将关闭

这可能是权限问题。验证您的Windows用户是否具有该文件的写入权限


如果它位于Windows分区上,请尝试以管理员身份运行记事本+。如果它位于Linux共享fs上,请尝试
chmod

否,sed不会保持文件打开。脚本完成后,所有打开的文件都将关闭


尝试使用查找打开文件的进程。使用Ctrl-F查找附加到您遇到问题的文件的打开句柄。

您使用的是什么版本的sed?你说的是Win7,但sed不是Win7的一部分。你在用MinGW吗?西格温?其他的?此外,也没有
/i
修饰符,因为我假设您使用的是gnu,它将是
/i
@Adrian,您好,我使用的是cygwine错误消息
请检查此文件是否在其他程序中打开
将指示该文件已打开,而不是存在权限问题。此外,如果权限不正确,您可能想查看您在哪个用户下运行shell脚本,因为sed能够修改文件,但Notepad++不能。否则,您可能会在其他地方遇到问题。除非需要,否则您不应以管理员权限运行。
<test name="test-XXXX">