Usage
Parameter 1, write the text that needs to replace the path record, format: Old path old name new path new name
Parameter 2, directory of files that need to be replaced
Parameter 3, type of file that needs to be replaced
Copy Code code as follows:
#!/bin/sh
function _replace () {
Basepath=$0
> $basepath. Log
I=1
While Read line
Todo
echo "start===================================================================================" >> $ Basepath.log
Oldpath= ' echo $line |awk ' {print $1$2} ' |sed ' s/^\///g '
Newpath= ' echo $line |awk ' {print $3$4} ' |sed ' s/^\///g '
echo $oldpath >> $basepath. Log
echo $newpath >> $basepath. Log
If ["$oldpath"!= "] && [" $newpath "!=" "];then
Refiles= ' grep $oldpath-irl--include= ' *.$3 ' $ '
For refile in $refiles
Todo
Sed-i ' s# ' $oldpath ' $newpath ' #ig ' $refile
echo $refile >> $basepath. Log
Done
Fi
echo "end=====================================================================================" >> $ Basepath.log
echo "=" >> $basepath. Log
echo $i >> $basepath. Log
echo "=" >> $basepath. Log
i=$ (($i + 1))
Done < $
}
If ["!=" "] | | ["$"!= "] | | ["$"!= ""];then
_replace $ $
Else
echo "Use like this: $basepath file filepath Type"
Fi