Find and Replace: Difference between revisions


Line 17: Line 17:
Pure '''sed'''<br>
Pure '''sed'''<br>
<code>
<code>
$ cd /path/to/your/folder<br>
$ cd /path/to/your/folder<br>  
$ sed -i 's/foo/bar/g' *
$ sed -i 's/foo/bar/g' *
</code>
</code>

Revision as of 09:37, 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