匹配后删除单词

匹配后删除单词

考虑以下文本行(取自 MySQL 插入):

"description" varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',

我想回来

"description" varchar(255) NOT NULL DEFAULT '',

即我想删除COLLATE utf8_unicode_ci.但是,关键字后面的排序规则COLLATE可能会有所不同,具体取决于原始数据库架构。

我遇到过前瞻,但不太确定如何使用它来删除该单词。

答案1

假设后面的字段COLLATE不包含空格,您可以使用简单的 Awk 单行代码:

 awk '/COLLATE/ {$3=$4=""}1' file

这会匹配模式COLLATE,然后打印整个文件,而无需匹配记录(行)上的第三个和第四个字段。

相关内容