2013-09-30 171 views
0

我試圖從文本文件sed的特殊字符替換字符串

輸入替換特定的字符串: 電腦周邊 互聯網技術 C/C++

輸出: 購物 通用 編程

,當我嘗試使用follwing SED:

refcat="Computer Peripherals" 
cat1="Shopping" 
echo $list | sed -e '[email protected][email protected][email protected]' 

我得到以下結果:

計算機 外設 互聯網 技術

我得到另一條線路的輸出。有人可以幫助我嗎?我的輸入和輸出值可以在他們的特殊字符(除「|」或「@」)

回答

1

對於殼擴大變量,你需要雙引號,我認爲

echo $list | sed -e "[email protected][email protected][email protected]" 

我的例子

echo Computer Peripherals Internet Technology C/C++ | sed -e "[email protected]${refcat}@${cat1}@g" 

結果

Shopping Internet Technology C/C++ 
+0

謝謝,但現在我的輸出是購物,然後在一個新行購物.. – rahul

+0

更新了我的答案。我不知道'$ list'是什麼。 –

+0

對不起。$ list是輸入字符串.. – rahul