changeset 21:4232b4cbeeb5

ul: add replace.
author pyon@macmini
date Sun, 24 Jun 2018 06:32:13 +0900
parents 0a6541999b53
children 5345d67aea5a
files src/ut/lu/lu.go src/ut/main.go
diffstat 2 files changed, 13 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/ut/lu/lu.go	Sat Jun 23 18:23:54 2018 +0900
+++ b/src/ut/lu/lu.go	Sun Jun 24 06:32:13 2018 +0900
@@ -357,17 +357,21 @@
     }
 }
 
-/* replace:  */
+/* replace:  done. */
 func Replace( s, t string, files []string ) {
     if len( files ) == 0 {
         input := bufio.NewScanner( os.Stdin )
         for input.Scan() {
+            str := strings.Replace( input.Text(), s, t, -1 )
+            fmt.Println( str )
         }
     } else {
         for _, file := range files {
             f, _ := os.Open( file )
             input := bufio.NewScanner( f )
             for input.Scan() {
+                str := strings.Replace( input.Text(), s, t, -1 )
+                fmt.Println( str )
             }
             f.Close()
         }
--- a/src/ut/main.go	Sat Jun 23 18:23:54 2018 +0900
+++ b/src/ut/main.go	Sun Jun 24 06:32:13 2018 +0900
@@ -27,7 +27,7 @@
     "./nw"
 )
 
-var version = "1.05"
+var version = "1.06"
 
 func main() {
 
@@ -52,6 +52,7 @@
     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 tee      = flag.String( "e", "", "little tee tool." )                               // ok
+    var replace  = flag.Bool( "r", false, "replace strings. ( s/arg1/arg2/g )" )            // ok
     var nc       = flag.Bool( "nc",  false, "netcat." )                                     // ok
     var ncl      = flag.Bool( "ncl", false, "netcat listen-mode." )                         // ok
 
@@ -62,7 +63,6 @@
     //var bhole   = flag.Bool( "k", false, "black hole. ( /dev/null )" )
     var cmdtime  = flag.Bool( "T", false, "measure program running time." )
     var touch    = flag.Bool( "t", false, "little touch tool." )
-    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 tree     = flag.Bool( "f", false, "little tree tool." )
@@ -237,11 +237,15 @@
         os.Exit( 3 )
     }
 
-    if *replace {
+    if *replace {   // done.
+        if flag.NArg() < 2 {
+            fmt.Fprintf( os.Stderr, "too few argument.\n" )
+            os.Exit( 1 )
+        }
         if err := is_exist_files( flag.Args() ); err != nil {
             log.Fatal( err )
         }
-        lu.Replace( "", "", flag.Args() )
+        lu.Replace( flag.Args()[0], flag.Args()[1], flag.Args()[2:] )
         os.Exit( 0 )
     }