annotate eview.go @ 1:c32b619844ba default tip

add eview.go.
author pyon@macmini
date Sun, 17 Sep 2017 14:33:27 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
1 package main
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
2
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
3 import (
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
4 "bufio"
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
5 "flag"
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
6 "fmt"
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
7 "io/ioutil"
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
8 "log"
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
9 "os"
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
10 "sort"
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
11 "strings"
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
12 )
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
13
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
14 var n int
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
15 var dir string
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
16 func init() {
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
17 flag.IntVar( &n, "n", 20, "print top N" )
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
18 flag.StringVar( &dir, "d", "data", "directory" )
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
19 }
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
20
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
21 func main() {
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
22 flag.Parse()
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
23
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
24 files, err := ioutil.ReadDir( dir )
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
25 if err != nil {
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
26 log.Fatal( err )
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
27 }
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
28
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
29 var ea []string
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
30 for _, file := range files {
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
31 if strings.HasPrefix( file.Name(), "m" ) {
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
32 f, err := os.Open( dir + "/" + file.Name() )
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
33 if err != nil {
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
34 log.Fatal( err )
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
35 }
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
36
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
37 scanner := bufio.NewScanner( f )
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
38 for scanner.Scan() {
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
39 if ! strings.HasPrefix( scanner.Text(), "ea = 9999.99" ) {
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
40 ea = append( ea, scanner.Text() )
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
41 }
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
42 }
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
43 f.Close()
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
44 }
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
45 }
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
46
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
47 sort.Strings( ea )
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
48 for i, e := range ea {
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
49 if i > n - 1 {
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
50 break
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
51 }
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
52 fmt.Println( e )
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
53 }
c32b619844ba add eview.go.
pyon@macmini
parents:
diff changeset
54 }