This is an old revision of the document!
Search and Replace in Files
grep -Z -R -l -E 'searchpattern' . | xargs -0 sed -i 's/searchpattern/replacestring/g'
Advanced Example
remember to escape parenthesis when using sed
- this example finds all occurences of 'oldhostname' where it is not followed by a period, and replaces it with 'newhostname'
grep -Z -R -l -E 'oldhostname[^\.]' . | xargs -0 sed -i 's/oldhostname\([^\.]\)/newhostname\1/g'