2016-09-28 457 views
0

我有一个shell脚本(.sh),我使用sed命令替换文件中的最后一个匹配字符(我已经放置了下面的命令)。.bat文件中的Sed相当于

我应该如何替换命令以获得批处理文件(.bat)中的相同功能而无需添加任何软件包/插件(要在Windows 7及更高版本中兼容)?

sed -i '$ s/,/;/g' abc.java 
+0

不要。只需安装/使用cygwin并继续... –

+0

只需在Windows中安装cygwin,我可以使用相同的命令吗? –

+0

是的,就是这一点。 –

回答

2

Windows批处理脚本编译器没有任何可以方便地执行类似于sed的任何本机工具。

您可以使用带有简单脚本的PowerShell,或带有小型自定义VBS或JScript脚本的CSCRIPT。

我会用JREPL.BAT - a regular expression text processing utility。它是纯粹的脚本(混合批处理/ JScript),可以从XP以后的任何Windows机器上本机运行。它不需要任何非本地的exe或com文件。

完整文档可从命令行使用jrepl /?jrepl /??获取分页帮助。

你简单的任务,可以通过使用JREPL来进行:

call jrepl "," ";" /inc -1 /f abc.java /o - 
+1

我应该在我的机器上安装任何东西来使用jrepl吗?我的机器有Windows 7 –

+0

@PrakadeesshArunachalam - 你只需要复制链接中找到的代码并将其粘贴到名为JREPL.BAT的文件中。该文件必须保存为ASCII(不是Unicode)。如果将JREPL.BAT放置在PATH中列出的文件夹中,这将非常方便。 – dbenham

0

有一个在窗户没有sed的,没有不带任何插件或插件。如果你需要使用sed,你可以安装SED for windows。