.bat文件中的Sed等效项

时间:2016-09-28 19:03:24

标签: windows batch-file sed scripting sh

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

如何在不添加任何软件包/插件的情况下替换命令以在批处理文件(.bat)中获取相同的功能(在Windows 7及更高版本中兼容)?

if ($this->request->is('json')) {
        $this->loadComponent('Auth', [
            'authorize' => ['Controller'],
            'authenticate' => [
                'Basic' => [
                    'fields' => ['username' => 'email', 'password' => 'password'],
                    'contain' => ['Districts']
                ]
            ]
        ]);
    } else {
        $this->loadComponent('Auth', [
            'authorize' => ['Controller'],
            'authenticate' => [
                'Form' => [
                    'fields' => ['username' => 'email', 'password' => 'password'],
                    'contain' => ['Districts']
                ]
            ],
            'loginAction' => [
                'controller' => 'Users',
                'action' => 'login'
            ],
            'logoutRedirect' => [
                'controller' => 'Users',
                'action' => 'login'
            ]
        ]);
    }

2 个答案:

答案 0 :(得分:2)

Windows批处理脚本没有任何本地工具可以方便地执行与sed类似的任何操作。

您可以将PowerShell与简单脚本一起使用,或者将CSCRIPT与小型自定义VBS或JScript脚本一起使用。

我会使用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 :(得分:-2)

Windows中没有sed,没有任何插件或插件。如果需要使用sed,可以安装SED for Windows。