diff src/ut/main.go @ 18:45ca03520eea

ut: add grep.
author pyon@macmini
date Sat, 23 Jun 2018 09:38:15 +0900
parents 72ce457fb99d
children 8008046c8d76
line wrap: on
line diff
--- a/src/ut/main.go	Wed Jun 20 06:01:58 2018 +0900
+++ b/src/ut/main.go	Sat Jun 23 09:38:15 2018 +0900
@@ -27,7 +27,7 @@
     "./lu"
 )
 
-var version = "1.02"
+var version = "1.03"
 
 func main() {
 
@@ -47,6 +47,10 @@
     var uniqdc   = flag.Bool( "udc", false, "little uniq tool.( count dup )" )              // ok
     var md5      = flag.Bool( "md5",    false, "md5." )                                     // ok
     var sha256   = flag.Bool( "sha256", false, "sha256." )                                  // ok
+    var grep     = flag.String( "a", "", "little grep tool." )                              // ok
+    var grepv    = flag.String( "b", "", "little grep -v tool." )                           // ok
+    var orgrep   = flag.String( "A", "", "little grep tool. ( from list file )" )           // ok
+    var orgrepv  = flag.String( "B", "", "little grep -v tool. ( from list file )" )        // ok
 
     var msleep   = flag.Bool( "M", false, "sleep." )
     //var swatch   = flag.Bool( "W", false, "stop watch." )
@@ -58,8 +62,6 @@
     var replace  = flag.Bool( "r", false, "replace strings. ( s/arg1/arg2/g )" )
     var sort     = flag.Bool( "s", false, "little sort tool." )
     var nsort    = flag.Bool( "ns", false, "little number sort tool." )
-    var grep     = flag.Bool( "a", false, "little grep tool." )
-    var grepv    = flag.Bool( "b", false, "little grep -v tool." )
     var tree     = flag.Bool( "f", false, "little tree tool." )
     var head     = flag.Int(  "d",     0, "little head/tail tool.( head:n, tail:-n )" )
     //var cut      = flag.String( "c", "", "little cut tool ( only csv )." )
@@ -207,15 +209,35 @@
         os.Exit( 0 )
     }
 
-    if *grep || *grepv {
-        if flag.NArg() < 2 {
-            fmt.Println( "too ?? argnument." )
-            os.Exit( 0 )
+    if *grep != "" {    // done.
+        if err := is_exist_files( flag.Args() ); err != nil {
+            log.Fatal( err )
         }
-        if err := is_exist_files( flag.Args()[1:] ); err != nil {
+        lu.Grep( *grep, false, flag.Args() )
+        os.Exit( 0 )
+    }
+
+    if *grepv != "" {   // done.
+        if err := is_exist_files( flag.Args() ); err != nil {
             log.Fatal( err )
         }
-        lu.Grep( flag.Args()[0], *grepv, flag.Args()[1:] )
+        lu.Grep( *grepv, true, flag.Args() )
+        os.Exit( 0 )
+    }
+
+    if *orgrep != "" {
+        if err := is_exist_files( flag.Args() ); err != nil {
+            log.Fatal( err )
+        }
+        lu.OrGrep( *orgrep, false, flag.Args() )
+        os.Exit( 0 )
+    }
+
+    if *orgrepv != "" {
+        if err := is_exist_files( flag.Args() ); err != nil {
+            log.Fatal( err )
+        }
+        lu.OrGrep( *orgrepv, true, flag.Args() )
         os.Exit( 0 )
     }