Sed 提取最后一个元组

Sed 提取最后一个元组,sed,awk,grep,Sed,Awk,Grep,我有一个mysqldump命令的文本文件。看起来像这样 INSERT INTO `agent_new` VALUES ('1', 'abc'), ('2', 'xyz'), ('3', 'pqr'); 我需要元组列表中的最后一个条目。我还需要表名。因此,预期的产出将是 INSERT INTO `agent_new` VALUES ('3', 'pqr'); 最后一行的末尾总是有一个分号,例如“pqr”) 我需要提取最后一行与实际数据库进行比较。我可以做“tail”,但我想知道是否有更好的方法

我有一个mysqldump命令的文本文件。看起来像这样

INSERT INTO `agent_new` VALUES ('1', 'abc'), ('2', 'xyz'), ('3', 'pqr');
我需要元组列表中的最后一个条目。我还需要表名。因此,预期的产出将是

INSERT INTO `agent_new` VALUES ('3', 'pqr');
最后一行的末尾总是有一个分号,例如“pqr”)


我需要提取最后一行与实际数据库进行比较。我可以做“tail”,但我想知道是否有更好的方法。

使用分隔符,您应该能够在流中选择并获取您想要的内容。 我已经有一段时间没有看语法了,所以我不想写一些不是100%正确的代码,但我建议用谷歌搜索一些涉及分隔符的示例


抱歉,我帮不了你什么忙(n)

使用分隔符,你应该能够在流中选择并获取你想要的内容。 我已经有一段时间没有看语法了,所以我不想写一些不是100%正确的代码,但我建议用谷歌搜索一些涉及分隔符的示例

对不起,我帮不了你(n)

这应该是你想要的


这应该可以满足您的需要。

这里有一种方法可以使用
sed

sed 's/(.*(/(/' file
结果:

INSERT INTO `agent_new` VALUES ('3', 'pqr');

这里有一种使用sed的方法:

sed 's/(.*(/(/' file
结果:

INSERT INTO `agent_new` VALUES ('3', 'pqr');
这可能适用于您(GNU-sed):

或:

这可能适用于您(GNU-sed):

或:

sed 's/('\''.*'\''),//' file