看别人代码的时候有时候查看个关键字,但是liteide没有整个项目搜索的功能,就自己随便写了一个.

来源:互联网 发布:js 文本框提示 编辑:程序博客网 时间:2024/05/21 19:43
go的版本是1.4的
package mainimport ("bufio""flag""fmt""os""path/filepath""regexp")var path *string = flag.String("p", "./", "搜索的路径")var re_string *string = flag.String("r", "", "关键字")func main() {flag.Parse()if *re_string == "" {fmt.Println("搜索的关键字不能为空")return}fmt.Println("搜索的路径:", *path, "搜索的关键字:", *re_string)re, _ := regexp.Compile(*re_string)filepath.Walk(*path, func(path string, info os.FileInfo, err error) error {if err != nil {return err}if info.IsDir() {return nil}fmt.Println("文件路径:", path)File, _ := os.Open(path)r := bufio.NewReader(File)for {b, _, e := r.ReadLine()if e != nil {break}if b, _ := regexp.Match(string([]byte{0}), b); b {break}if re.Match(b) {fmt.Println(string(b))}}File.Close()return nil})}

0 0
原创粉丝点击