ALTER TABLE variable ADD KEY somekey name
我想从文本文件中删除该行,并且下面提到的sed按预期工作。
sed '/ADD\ KEY/d'
但是“ADD KEY”这个词可能在文本文件的其他地方,我不想删除该行。
如果以“ALTER TABLE”字开头,我该如何删除所有“ADD KEY”行?
答案 0 :(得分:1)
做的:
sed '/^ALTER TABLE/{/ADD\ KEY/d}'
第一个/^ALTER TABLE/
检查以ALTER TABLE开头的行,然后继续/ADD\ KEY/d
,如果这是真的。
答案 1 :(得分:1)
sed '/ALTER TABLE .* ADD KEY .*/d' FILE
也应该做好这份工作。顺便说一下,你不需要掩盖空白。
答案 2 :(得分:1)
您需要编辑正则表达式以匹配您需要的行,即:
sed '/^ALTER\ TABLE.*ADD\ KEY/d'
是
- 以" ALTER TABLE"开头的行
- 然后是0或更多'任何'
- 然后是" ADD KEY"