删除所有以以下内容开头的行:INSERT INTO `mdl_logstore_standard_log` VALUES

delete all lines starting by: INSERT INTO `mdl_logstore_standard_log` VALUES

我的 Linux 服务器上有一个 SQL 文本文件,我需要删除所有以

开头的行
INSERT INTO `mdl_logstore_standard_log`

你可以用vim来实现。打开文件,键入 :g,然后确保 运行 以下内容:

:g/^INSERT INTO `mdl_logstore_standard_log`/d

说明: - ^ 是字符串的开头,这里表示以 -d 在最后表示删除 - 斜杠之间的模式是要查找的模式

如果看起来不错,请按 :w 保存您的文件。

看起来像 this 的副本。

在所选答案中的 "Better Solution" 之后,您可能会考虑使用 sed。这将删除行而无需打开文件。

对于您的具体情况,您可以 运行

sed '/^INSERT INTO `mdl_logstore_standard_log`/d' text_file.sql > new_text_file.sql

text_file.sqlnew_text_file.sql 替换为当前文件和已删除行的文件。如果您希望用新文件覆盖以前的文件,您可能还需要考虑查看 -i(或等效的 --in-place)选项。