diff --git a/main.go b/main.go index ee5f072..3a04fd3 100644 --- a/main.go +++ b/main.go @@ -160,22 +160,24 @@ func main() { byteCounter = fileByteCounter } - switch { - case *cFlag: - fmt.Print("\t", byteCounter(f)) - case *lFlag: + if *lFlag || flag.NFlag() == 0 { fmt.Print("\t", lineCounter(f)) - case *wFlag: + f.Seek(0, 0) + } + + if *wFlag || flag.NFlag() == 0 { fmt.Print("\t", wordCounter(f)) - case *mFlag: - fmt.Print("\t", charCounter(f)) - default: - b := byteCounter(f) f.Seek(0, 0) - l := lineCounter(f) + } + + if *cFlag || flag.NFlag() == 0 { + fmt.Print("\t", byteCounter(f)) + f.Seek(0, 0) + } + + if *mFlag { + fmt.Print("\t", charCounter(f)) f.Seek(0, 0) - w := wordCounter(f) - fmt.Print("\t", l, "\t", w, "\t", b) } if len(fileName) > 0 {