2012-10-25 61 views
1

如何从以下字符串中的评论单词中删除所有单词?从特定单词开始后删除所有单词

echo "first_mail_sent_date_time datetime NOT NULL COMMENT 'The date and time'," | sed 's/ COMMENT \w*/ /g' 

上面的sed命令将只删除单词COMMENT。我需要在注释后删除所有内容,但保留最后一个逗号。

我可以用awk,但我期待的一致性的缘故SED解决方案。

awk -F'COMMENT' '{print $1 ","}' 

回答

1

使用此sed命令:

sed "s/ COMMENT.*'[^']*'/ /" 

TEST:

str="first_mail_sent_date_time datetime NOT NULL COMMENT 'The date and time'FOO," 
echo $str | sed "s/ COMMENT.*'[^']*'/ /" 

OUTPUT:

first_mail_sent_date_time datetime NOT NULL FOO, 
2

这可能会为你工作(GNU SED):

sed 's/ COMMENT.*,/,/' file 
相关问题