# HG changeset patch # User pyon@macmini # Date 1529789533 -32400 # Node ID 4232b4cbeeb562bdda92a2b50031926da011511a # Parent 0a6541999b5317aa8e51b9d83e47cfb0452847cf ul: add replace. diff -r 0a6541999b53 -r 4232b4cbeeb5 src/ut/lu/lu.go --- 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() } diff -r 0a6541999b53 -r 4232b4cbeeb5 src/ut/main.go --- 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 ) }