[OSX] Search and replace all occurence of a string in every file in specified directory
Command
$ grep -ilr "sourceString" * | xargs -I@ sed -i '' 's/sourceString/targetString/g' @
description
grep – file pattern searcher
from OSX grep man page
-i:--ignore-casePerform case insensitive matching-l:--files-with-matchesOnly the names of files containing selected lines are written to standard output.-r:-R,--recursiveRecursively search subdirectories.
xargs – construct arguments list(s) and execute utility
from OSX xargs man page
-I@ ** @:
sed – stream editor
from OSX man page
-i '': specify backup extension. 0 length backup extension meaning no backup's/sourceString/targetString/g': search and replace globally all occurences ofsourceStringbytargetString