Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ===== Search and Replace in Files ===== <code> grep -Z -R -l -E 'searchpattern' . | xargs -0 sed -i 's/searchpattern/replacestring/g' </code> ===== Advanced Example ===== * :!: remember to escape parenthesis when using [[sed]] * this example finds all occurrences of 'oldhostname' where it is not followed by a period, and replaces it with 'newhostname' <code> grep -Z -R -l -E 'oldhostname[^\.]' . | xargs -0 sed -i 's/oldhostname\([^\.]\)/newhostname\1/g' </code> ===== FreeBSD 5 Example ===== * the -Z parameter was different for grep, so it actually wanted %%--null%% * the backup extension for sed was not optional, so '.sed' was used <code> grep --null -R -l -E 'oldhostname[^\.]' . | xargs -0 -t sed -i '.sed' 's/newhostname\([^\.]\)/xdev\1/g' </code> ===== See Also ===== * [[sed]] docs/bash/search_and_replace_in_files.txt Last modified: 2009/06/03 10:45by billh