diff --git a/bin/replace b/bin/replace new file mode 100755 index 00000000..1601829b --- /dev/null +++ b/bin/replace @@ -0,0 +1,14 @@ +#!/bin/sh +# +# Find and replace by a given list of files. +# +# replace foo bar **/*.rb + +find_this="$1"; shift +replace_with="$1"; shift + +items=$(ag -l --nocolor "$find_this" "$@") +temp="${TMPDIR:-/tmp}/replace_tmp.$$" +for item in $items; do + sed "s/$find_this/$replace_with/g" "$item" > "$temp" && mv "$temp" "$item" +done