Find and Replace: Difference between revisions
Line 16: | Line 16: | ||
Pure '''sed'''<br> | Pure '''sed'''<br> | ||
<code> | <code>$ cd /path/to/your/folder </code><br> | ||
$ cd /path/to/your/folder<br> | <code>$ sed -i 's/foo/bar/g' *</code> | ||
$ sed -i 's/foo/bar/g' * | |||
</code> | |||
All occurrences of the string "foo" will be replaced with the string "bar". | All occurrences of the string "foo" will be replaced with the string "bar". |
Revision as of 09:38, 13 July 2017
Find and Replace
With SSH access, you can replace a string of text within multiple files within a single command. For example, to update every instance of your phone number in all of your files, you would do the following:
$ find ./ -type f -exec sed -i 's/987-654-3210/555-789-0210/g' {} \;
For insensitive search and replace of the string:
$ find ./ -type f -exec sed -i 's/string1/string2/gI' {} \;
Alternative methods
Pure sed
$ cd /path/to/your/folder
$ sed -i 's/foo/bar/g' *
All occurrences of the string "foo" will be replaced with the string "bar".
Perl
perl -pi -w -e 's/search/replace/g;' *.php
-e means execute the following line of code. -i means edit in-place -w write warnings -p loop