windows - 用 'sed' 修改后是否需要关闭文件?

标签 windows bash shell

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

sed -i "/<test name=\"test-$NUMBER\">/i $NEW_TEST_SUITE" test.xml

运行完这个shell脚本后,我用Notepad++打开文件test.xml,确实之前插入了一行:

<test name="test-XXXX"> 

但是,当我尝试做一个 pretty-print 时(通过单击 CTRL+ALT+SHIFT+B) 并保存该文件,它会弹出一条警告消息:

Please check if this file is opened in another program

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

最佳答案

没有。当 sed 退出时,文件关闭。

这可能是权限问题。确认您的 Windows 用户对该文件具有写入权限。

如果它在 Windows 分区上,请尝试以管理员身份运行 Notepad++。如果它在 Linux 共享文件系统上,请尝试 chmod

关于windows - 用 'sed' 修改后是否需要关闭文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17097915/

相关文章:

windows - 在 windbg 中的 COM 类方法上设置断点

Python 测试/TeamCity 集成/健全的包管理

c++ - 编辑 ListView 控件项

terminal - 须藤 : port: command not found

regex - 需要用一个已知的主机名grep/etc/hosts,然后从/etc/hosts中抓取该主机名的ip地址

c - 如何检查我的程序返回的值?

python - 无法识别不存在的文件

shell - 如何让expect -c在单行而不是脚本中工作

java - 如何在shell脚本中加载mysql jar并连接到MYSQL DB

linux - bash + bash 脚本有类似 log4j 的东西吗?