我试图在Windows机器上从命令提示符(CMD.exe)运行sed
命令,但我很难理解正则表达式,以及在Windows上运行时如何正确地转义字符串。理想情况下,我希望开发一个跨UNIX和Windows工作的解决方案。sed
在Windows上不可用,所以我已经通过gnuWin32 project安装了它,运行良好。
该命令的Unix为:sed -i '' -e 's/\\/_next/\\.\\/next/g' out/**.html
通过一个试错的过程,我已经设法做到这一点:sed -i \'\' -e \'s/\\/_next/\\.\\/next/g\' out/**.html
但是我得到一个错误:sed: -e expression #1, char 27: unterminated address regex
所以我的正则表达式肯定有问题,可能是不同部分的转义?有什么想法我可以去解决这个问题吗?
更新:我从here获得代码,不幸的是,只有Linux和OSX被覆盖。
1条答案
按热度按时间guicsvcw1#
您需要使用
Windows GNU sed不需要
-i
选项后的''
空参数,它们可以安全地删除。此外,Windows控制台中的sed命令应该用双引号括起来。