2014-09-03 128 views
3

刪除一個字,我有串從字符串慶典

file="this-is-a-{test}file" 

我想從這個字符串中刪除{test}。 我用

echo $file | sed 's/[{][^}]*//' 

但是這回我

this-is-a-}file 

如何刪除}嗎?

感謝

回答

4

您可以使用sed與正確的正則表達式:

s="this-is-a-{test}file" 
sed 's/{[^}]*}//' <<< "$s" 
this-is-a-file 

還是這個AWK:

awk -F '{[^}]*}' '{print $1 $2}' <<< "$s" 
this-is-a-file 
+1

太好了。這工作。謝謝 – 2014-09-03 07:50:55

+2

@CiprianVintea說'謝謝'的首選方式是接受最有用的答案(點擊綠色複選標記)以回答您提出的任何問題(這也會增加您的聲譽),並通過提供有用的答案(如果你有15+聲望)。請閱讀[遊覽],祝你好運。 – jm666 2014-09-03 08:01:16

4

也可以嘗試這個慶典僅oneliner作爲一種替代方案:

s="this-is-a-{test}file" 
echo ${s/\{test\}/}