GNU Grep for Win32

dzhigner

Moderator

Grep是著名的命令行检索工具,支持perl正则表达式,显示中文也没有问题。用Grep制作文本检索工具很方便。下面这段代码显示如何用VB.net读取Grep的输出。本人曾用Perl在读取/加工Grep输出结果的基础上制作KWIC Concordancer。在.net环境里实现起来也很容易。

Grep for Win32 说明及下载: http://gnuwin32.sourceforge.net/packages/grep.htm

Imports System
Imports System.IO

Class Test
Public Shared Sub Main()
Dim myProcess As Process = New Process
Dim stdOut As StreamReader = myProcess.StandardOutput
Dim stdErr As StreamReader = myProcess.StandardError

myProcess.StartInfo.FileName = "C:\Program Files\GnuWin32\bin\grep.exe"
myProcess.StartInfo.Arguments = " --help" '命令行参数
myProcess.StartInfo.UseShellExecute = False
myProcess.StartInfo.CreateNoWindow = True '不显示控制台窗口
myProcess.StartInfo.RedirectStandardInput = True
myProcess.StartInfo.RedirectStandardOutput = True
myProcess.StartInfo.RedirectStandardError = True
myProcess.Start()

If stdOut.Read > 0 Then
Console.WriteLine(stdOut.ReadToEnd())
End If

If stdErr.Read > 0 Then
Console.WriteLine(stdErr.ReadToEnd())
End If

If Not myProcess.HasExited Then
myProcess.Kill()
End If

stdOut.Close()
stdErr.Close()
myProcess.Close()
End Sub
End Class


[本贴已被 作者 于 2005年06月01日 07时21分10秒 编辑过]
 
顶部