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 に答える