Skip to content

Instantly share code, notes, and snippets.

@geoyws
Forked from hlissner/replace.sh
Created August 9, 2022 02:33
Show Gist options
  • Save geoyws/f13c0d3a43ecc6d1f1de4e50839d0ba1 to your computer and use it in GitHub Desktop.
Save geoyws/f13c0d3a43ecc6d1f1de4e50839d0ba1 to your computer and use it in GitHub Desktop.
Bulk search & replace with ag (the_silver_searcher)
# ag <https://github.com/ggreer/the_silver_searcher>
# usage: ag-replace.sh [search] [replace]
# caveats: will choke if either arguments contain a forward slash
# notes: will back up changed files to *.bak files
ag -0 -l $1 | xargs -0 perl -pi.bak -e "s/$1/$2/g"
# or if you prefer sed's regex syntax:
ag -0 -l $1 | xargs -0 sed -ri.bak -e "s/$1/$2/g"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment