我正在寻找执行以下操作的 Linux 命令的帮助:
在给定的文件中不区分大小写地搜索特定的单词/短语,然后移除/删除紧接着的“n”行,包括给定文件中与该单词/短语匹配的行。
例子: 如果我尝试不区分大小写地搜索短语“CREATE FUNCTION plpgsql_call_handler”,并且如果它与行号 102644 匹配,那么我希望从给定文件中删除行号 102644 和紧接着的两行。在这种情况下,我希望删除行号 102644、102645、102646。
答案1
sed -i '/CREATE FUNCTION plpgsql_call_handler/I ,+2d' <filename>
相信这会奏效。在愤怒地尝试之前,请先备份文件。