Find and Replace: Difference between revisions


No edit summary
Line 15: Line 15:
== Alternative methods ==
== Alternative methods ==


Pure '''sed'''<br>
=== sed ===
<code>$ cd /path/to/your/folder </code><br>
<code>$ cd /path/to/your/folder </code><br>
<code>$ sed -i 's/foo/bar/g' *</code>
<code>$ sed -i 's/foo/bar/g' *</code>
Line 21: Line 21:
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".


== Perl ==
=== Perl ===


<code>perl -pi -w -e 's/search/replace/g;' *.php </code>
<code>perl -pi -w -e 's/search/replace/g;' *.php </code>

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

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