miller/scripts/early-multi-language-timings/catgo2.go.txt
2021-12-27 10:30:06 -05:00

55 lines
981 B
Text

package main
import (
"bufio"
"fmt"
"log"
"os"
)
// ----------------------------------------------------------------
func main() {
args := os.Args[1:]
includeFields := []string {"a", "x"};
ok := true
if len(args) == 0 {
ok = handle("-", includeFields) && ok
} else {
for _, arg := range args {
ok = handle(arg, includeFields) && ok
}
}
if ok {
os.Exit(0)
} else {
os.Exit(1)
}
}
// ----------------------------------------------------------------
func handle(fileName string, includeFields []string) (ok bool) {
inputStream := os.Stdin
if fileName != "-" {
var err error
if inputStream, err = os.Open(fileName); err != nil {
log.Println(err)
return false
}
}
scanner := bufio.NewScanner(inputStream)
for scanner.Scan() {
line := scanner.Text()
fmt.Println(line)
}
if err := scanner.Err(); err != nil {
fmt.Fprintln(os.Stderr, "reading standard input:", err)
}
if fileName != "-" {
inputStream.Close()
}
return true
}