1

如何删除以下字符串中从 COMMENT 单词开始的所有单词?

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

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

我可以使用 awk 但为了保持一致性,我正在寻找 sed 解决方案。

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

2 回答 2

2

这可能对您有用(GNU sed):

sed 's/ COMMENT.*,/,/' file
于 2012-10-25T12:43:11.627 回答
1

使用这个 sed 命令:

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

测试:

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

输出:

first_mail_sent_date_time datetime NOT NULL FOO,
于 2012-10-25T09:40:07.400 回答