15 lines
		
	
	
		
			329 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			15 lines
		
	
	
		
			329 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/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
 |