2012-10-25 60 views
1

如何在搜索字符串後刪除恰好1個單詞? 我可以說即「UTF8」之後刪除搜索詞,但不是單詞刪除搜索字符串旁邊的單詞

# echo "varchar(255) CHARACTER SET utf8," 
varchar(255) CHARACTER SET utf8, 

# echo "varchar(255) CHARACTER SET utf8," | sed 's/ CHARACTER SET[^ ]*//g' 
varchar(255) utf8, 

預期輸出:

varchar(255) , 
+0

在某些情況下,搜索字符串後面可能會有2個單詞,我需要刪除這兩個單詞。例如, utf8 ansi – shantanuo

+0

請參閱下面的答案。它可以處理任何數量的單詞。 – cppcoder

回答

2
echo "varchar(255) CHARACTER SET utf8," | sed 's/ CHARACTER SET [[:alnum:]]\+/ /g' 
1

你說這個?

echo "varchar(255) CHARACTER SET utf8," | sed 's/ CHARACTER SET[ a-z0-9,]*/ /g' 

輸出

varchar(255) 
1

這可能爲你工作(GNU SED):

​​
0

回聲 「VARCHAR(255)CHARACTER SET UTF8,AA」 | sed's/CHARACTER SET。*,// g'