考虑以下文本行(取自 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
,然后打印整个文件,而无需匹配记录(行)上的第三个和第四个字段。