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