1. shell脚本 批量替换多个文件中指定字符之间的字符串中的指定字符
用Replace
Pioneer处理很轻松,找到")"和"("之间的内容,把"、"替换成"|"就可以了。
需要说明的是,你的括号是中文括号"()"而不是英文括号"()",所以不用转义。
以下是详细步骤:
1.
ctrl-o打开待处理txt文件
2.
ctrl-h打开replace窗口
*
在Search
for
pattern下面输入:
"(^|)).*?((|$)"(不包含左右的双引号)
*
在Replace
with
pattern下面输入:
"replace($match,'、','|')"(不包含左右的双引号)
3.
点击Replace,完成。
****************
另外,这里再给你一个纯正则表达式的版本:
把"、(?=[^)]*((|$))"替换成"|"就可以了。
你也可以在Replace
Pioneer的search
for
pattern输入"、(?=[^)]*((|$))"(无双引号),然后在replace
with
pattern输入|就可以了。
2. shell脚本替换A、B两个文件里面的内容
可以使用sed进行操作,先定义一个参数读取A文件中的第一行 LineA=`sed...` 或者是使用cat把内容读取出来,再使用sed的替换方法,将B文件中的第一行替换为$LineA即可。希望有帮助
3. 求shell脚本匹配字符串的函数
#!/bin/sh
matchPath()
{
path="$1"
isFound=0
whilereadline
do
echo"$path"|grep-q"$line"
if[$?-eq0];then
isFound=1
break
fi
done<path.cfg
[$isFound-eq1]&&echo"Matchfound!"||echo"Nomatch!"
}
if[$#-eq0];then
echo"Oneargumentisrequiredatleast."
exit1
fi
matchSuffix"$1"
exit0