-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathreplaceStrInFolder
More file actions
executable file
·27 lines (22 loc) · 1.48 KB
/
replaceStrInFolder
File metadata and controls
executable file
·27 lines (22 loc) · 1.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#! /bin/sh -
#replaceStrInFolder --- 在指定文件夹中替换指定字符串。
#$1 要被替换的字符串正则;$2 要用于替换的字符串正则;$3要查找的文件夹
#replaceStrInFolder "<script\ src\=\"..\/frame\/js\/publicFuncsForPage.js\"\ type\=\"text\/javascript\"><\/script>" "" .
#sed -i "s/$1/$2/g" `grep "$1" -rl --exclude=*.svn* --exclude=*.swp "$3"`
#replaceStrInFolder "\(<link\ rel\=\"stylesheet\" href\=\"http:\/\/fonts.googleapis.com\/css[^\!]*\"\ \/>\)" "<\!--\1-->" .
sourceFile=${3};
if [ -f ${sourceFile} ];
then
echo $sourceFile;
while read -r line ;
do
echo ${line};
sed -i "s/$1/$2/g" $(grep "$1" -rl --exclude=*.svn* --exclude=*.swp "${line}" --exclude=*.git* --exclude=*.bak --exclude-dir=.svn --exclude-dir=.git)
done < "${sourceFile}";
else
echo ${sourceFile} " is not a regular file.";
sed -i "s/$1/$2/g" $(grep "$1" -rl --exclude=*.svn* --exclude=*.swp "${sourceFile}" --exclude=*.git* --exclude=*.bak --exclude-dir=.svn --exclude-dir=.git)
fi
# sed -i "s/$1/$2/g" $(grep "$1" -rl --exclude=*.svn* --exclude=*.swp "$3" --exclude=*.git* --exclude=*.bak --exclude-dir=.svn --exclude-dir=.git)
# sed -i "s/disabled=\"\(\w*\)\"/disable=\"\1\"/g" `grep "disabled=\"\w*\"" -rl --include=*2.htm "."` #将XHTML中disabled替换为disable
# sed -i "s/\([\(set\)|\(get\)|\(toggle\)]\)Disabled/\1Disable/g" `grep "[\(set\)|\(toggle\)|\(get\)]Disabled" -rl --include=*2.htm "."` #将getDisabled\setDisabled\toggleDisabled替换为getDisable\setDisable\toggleDisable.