Shell 如何使用行中的模式在行尾添加分号

Shell 如何使用行中的模式在行尾添加分号,shell,unix,awk,sed,Shell,Unix,Awk,Sed,我试图找到一种方法,使用sed在包含单词“transient”的所有行的末尾添加分号。 该文件是一个hql,包含数据库中所有表的create语句。 为了通过beeline在其他集群上运行此hql,我需要在运行此hql之前对其进行一些编辑 输入: 'transient_lastDdltime'='123456') 预期产出: 'transient_lastDdltime'='123456'); 如果我能得到使用sed或awk(而不是vim)的建议,那将非常有帮助。请注意,关于使用UNIX工具的

我试图找到一种方法,使用sed在包含单词“transient”的所有行的末尾添加分号。 该文件是一个hql,包含数据库中所有表的create语句。 为了通过beeline在其他集群上运行此hql,我需要在运行此hql之前对其进行一些编辑

输入:

'transient_lastDdltime'='123456')
预期产出:

'transient_lastDdltime'='123456');

如果我能得到使用sed或awk(而不是vim)的建议,那将非常有帮助。

请注意,关于使用UNIX工具的问题(这些工具不是编写软件所特有的)通常更适合我们的姐妹站点。(有很多灰色地带;“有人可能在命令行而不是在脚本中这样做吗?”是构建分界线的好起点)。
$ sed '/transient/s/$/;/' file