ALTER TABLE variable ADD KEY somekey name
我想从文本文件中删除行,并且下面提到的sed按预期工作。删除符合条件的行
sed '/ADD\ KEY/d'
但它可能是单词“添加项”可能是别的地方的文本文件,我不想删除了这一行。
只有以“ALTER TABLE”字开头时,我如何删除所有“ADD KEY”行?
ALTER TABLE variable ADD KEY somekey name
我想从文本文件中删除行,并且下面提到的sed按预期工作。删除符合条件的行
sed '/ADD\ KEY/d'
但它可能是单词“添加项”可能是别的地方的文本文件,我不想删除了这一行。
只有以“ALTER TABLE”字开头时,我如何删除所有“ADD KEY”行?
sed '/ALTER TABLE .* ADD KEY .*/d' FILE
也应该做这个工作。顺便说一句,你不需要掩盖空白。
做:
sed '/^ALTER TABLE/{/ADD\ KEY/d}'
第一/^ALTER TABLE/
检查开始ALTER TABLE线,然后与/ADD\ KEY/d
继续进行。如果这是真的。
您需要编辑正则表达式匹配的行开始,因为你需要,即:
sed '/^ALTER\ TABLE.*ADD\ KEY/d'
这是
- 开头的行“ALTER TABLE”
- 其次是0个或多个“任何'
- 后面跟着“ADD KEY”