Skip to content

Instantly share code, notes, and snippets.

@tdegrunt
Created September 29, 2014 11:53
Show Gist options
  • Select an option

  • Save tdegrunt/045f6b3377f3f7ffa408 to your computer and use it in GitHub Desktop.

Select an option

Save tdegrunt/045f6b3377f3f7ffa408 to your computer and use it in GitHub Desktop.
Replace some text in a bunch of files with golang
package main
import (
"fmt"
"io/ioutil"
"os"
"path/filepath"
"strings"
)
func visit(path string, fi os.FileInfo, err error) error {
if err != nil {
return err
}
if !!fi.IsDir() {
return nil //
}
matched, err := filepath.Match("*.txt", fi.Name())
if err != nil {
panic(err)
return err
}
if matched {
read, err := ioutil.ReadFile(path)
if err != nil {
panic(err)
}
//fmt.Println(string(read))
fmt.Println(path)
newContents := strings.Replace(string(read), "old", "new", -1)
fmt.Println(newContents)
err = ioutil.WriteFile(path, []byte(newContents), 0)
if err != nil {
panic(err)
}
}
return nil
}
func main() {
err := filepath.Walk(".", visit)
if err != nil {
panic(err)
}
}
@pat3icki
Copy link
Copy Markdown

it's beautiful how an old code still works, thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment