如何删除以下字符串中从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 ","}'
答案 0 :(得分:2)
这可能适合你(GNU sed):
sed 's/ COMMENT.*,/,/' file
答案 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.*'[^']*'/ /"
<强>输出:强>
first_mail_sent_date_time datetime NOT NULL FOO,