嗯,我有以下格式一系列內容幾個文件:匹配空格字符的正則表達式
[abc] #4 *5
[pqr] #3 *4
[xyx] #5 *2
現在我需要通過更換的
[xyx] #3 *2
所有次數
[xyx] #1 *2
在所有文件中。
現在引起疼痛的問題是[xyz]和#3之間存在空間。有兩件事我正在一個腳本這個搜索表達式作爲命令行參數,它看起來是這樣的:
searchExp=$1
repalaceExp=$2
echo $searchExp
echo $replaceExp
for i in `grep \'$searchExp\'`
do
sed 's/$searchExp/$replaceExp' $i > $i.new
done
我想這應該是罰款因爲我傳遞的參數爲:
./replace_script '^\[xyz\] #3' '\[xyz\] #1'
現在你看到的回聲statment INT腳本減少在搜索所有的空間和relace表現爲單個空格
\[xyz\] #3
現在我嘗試一些其他的替代照顧空格字符
1. ^\[xyz\][ ]+#3
這是一個尖叫不平衡[],所以正則表達式錯誤
2. ^\[xyz\]\s+#3 //as per few suggestion on SO
這一點兒也不匹配。
你能看到我要去哪裏嗎?
編輯:糾正錯別字
空格可以用'[:space:]' – elias