view eview.go @ 1:c32b619844ba default tip

add eview.go.
author pyon@macmini
date Sun, 17 Sep 2017 14:33:27 +0900
parents
children
line wrap: on
line source

package main

import (
    "bufio"
    "flag"
    "fmt"
    "io/ioutil"
    "log"
    "os"
    "sort"
    "strings"
)

var n int
var dir string
func init() {
	flag.IntVar( &n,   "n", 20, "print top N" )
	flag.StringVar( &dir, "d", "data", "directory" )
}

func main() {
    flag.Parse()

	files, err := ioutil.ReadDir( dir )
	if err != nil {
		log.Fatal( err )
	}

    var ea []string
	for _, file := range files {
        if strings.HasPrefix( file.Name(), "m" ) {
            f, err := os.Open( dir + "/" + file.Name() )
            if err != nil {
                log.Fatal( err )
            }

            scanner := bufio.NewScanner( f )
            for scanner.Scan() {
                if ! strings.HasPrefix( scanner.Text(), "ea = 9999.99" ) {
                    ea = append( ea, scanner.Text() )
                }
            }
            f.Close()
        }
	}

    sort.Strings( ea )
    for i, e := range ea {
        if i > n - 1 {
            break
        }
        fmt.Println( e )
    }
}