2016-09-28 174 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。