This commit is contained in:
Jeffrey Paul 2024-05-22 14:36:15 -07:00
commit 368fb6407d
3 changed files with 38 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
field

3
go.mod Normal file
View File

@ -0,0 +1,3 @@
module sneak.berlin/go/field
go 1.22.2

34
main.go Normal file
View File

@ -0,0 +1,34 @@
package main
import (
"bufio"
"fmt"
"os"
"strconv"
"strings"
)
func main() {
if len(os.Args) < 2 {
fmt.Fprintf(os.Stderr, "usage: %s <field-number>", os.Args[0])
os.Exit(1)
}
fieldNum, err := strconv.Atoi(os.Args[1])
if err != nil || fieldNum < 1 {
fmt.Fprintln(os.Stderr, "invalid field number:", os.Args[1])
os.Exit(1)
}
scanner := bufio.NewScanner(os.Stdin)
for scanner.Scan() {
line := scanner.Text()
fields := strings.Fields(line)
if len(fields) >= fieldNum {
fmt.Println(fields[fieldNum-1])
}
}
if err := scanner.Err(); err != nil {
fmt.Fprintln(os.Stderr, "error reading input:", err)
}
}