A simple grep implementation in Go

A simple grep implementation in Go

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package main

import(
  "bufio"
  "fmt"
  "log"
  "os"
  "regexp"
)

func handleLine(line string) {
  matched, err := regexp.MatchString(os.Args[1], line)

  if err != nil {
    log.Fatal(err)
  } else if matched {
    fmt.Println(line)
  }
}

func main() {
  scanner := bufio.NewScanner(os.Stdin)

  for scanner.Scan() {
    handleLine(scanner.Text())
  }

  if err := scanner.Err(); err != nil {
    log.Fatal(err)
  }
}
Généré avec Hugo
Thème Stack conçu par Jimmy