Added simplified "sort" commabe implementation.
This commit is contained in:
parent
62a40b80e9
commit
010d8f8f4e
2 changed files with 39 additions and 0 deletions
|
@ -9,6 +9,7 @@ import(
|
||||||
"github.com/jienfak/goblin/mkdir"
|
"github.com/jienfak/goblin/mkdir"
|
||||||
"github.com/jienfak/goblin/gtrue"
|
"github.com/jienfak/goblin/gtrue"
|
||||||
"github.com/jienfak/goblin/gfalse"
|
"github.com/jienfak/goblin/gfalse"
|
||||||
|
"github.com/jienfak/goblin/sort"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
@ -24,6 +25,7 @@ func main() {
|
||||||
"echo" : echo.Run,
|
"echo" : echo.Run,
|
||||||
"true" : gtrue.Run,
|
"true" : gtrue.Run,
|
||||||
"false" : gfalse.Run,
|
"false" : gfalse.Run,
|
||||||
|
"sort" : sort.Run,
|
||||||
}
|
}
|
||||||
|
|
||||||
if binBase := path.Base(os.Args[0]) ; binBase != "goblin" {
|
if binBase := path.Base(os.Args[0]) ; binBase != "goblin" {
|
||||||
|
|
37
sort/sort.go
Normal file
37
sort/sort.go
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
package sort
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bufio"
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
"sort"
|
||||||
|
"io"
|
||||||
|
"flag"
|
||||||
|
)
|
||||||
|
|
||||||
|
func readLines() []string {
|
||||||
|
|
||||||
|
r := bufio.NewReader(os.Stdin)
|
||||||
|
a := make([]string, 0)
|
||||||
|
for {
|
||||||
|
l, e := r.ReadString('\n')
|
||||||
|
if e==io.EOF {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
a = append(a, l)
|
||||||
|
}
|
||||||
|
return a
|
||||||
|
}
|
||||||
|
|
||||||
|
func Run(args []string) int {
|
||||||
|
flagSet := flag.NewFlagSet(args[0], flag.ExitOnError)
|
||||||
|
flagSet.Parse(args[1:])
|
||||||
|
status := 0
|
||||||
|
|
||||||
|
lines := readLines()
|
||||||
|
sort.Strings(lines)
|
||||||
|
for _, l := range lines {
|
||||||
|
fmt.Print(l)
|
||||||
|
}
|
||||||
|
return status
|
||||||
|
}
|
Loading…
Reference in a new issue