2014-09-03 77 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\}/}