How To Wiki

Howto use find and sed to make a replace in multiple files

1,795pages on
this wiki
Add New Page
Add New Page Talk0

With the sed command and find command you can replace all instances of a word or multiple words in multiple files

  • To replace "oldWord" with "newWord" in all the files *.c :
find . -name "*.c" -exec sed -i "s/oldWord/newWord/g" '{}' \;
  • To replace multiple words in files :
    1. Edit a temporary file "replace.txt"
    2. Add the words you want to replace on a column
    3. Add the replacement words in the second column
      • For example
        word1 replacement1
        word2 replacement2
    4. To do the task, replace all the words from the first column with the equivalent from the second column in all the files *.c, Execute :
counter=0;for f in `cat replace.txt`;do replace[counter]=$f;counter=$counter+1;done;counter2=0;
for ((a=0; a <= $counter-1; a=a+2)); do `sed -i "s/${replace[$a]}/${replace[$a+1]}/g" *.c` ;done;

From HowTo Wiki, a Wikia wiki.

Also on Fandom

Random Wiki