是否有正确的方法从命令解析Bash中的输出?

时间:2017-04-10 17:50:19

标签: bash shell amazon-redshift psql

我正在使用psql运行一些命令,其中最后一个命令类似于:select max(id) from tablename。我正在尝试插入最后一行的id。它在此方案中返回正确的值(7)

Begin Informatica Script SET INSERT 0 1 max ----- 7 (1 row) Redshift Delta copy completed at: 04/10/17 17:45:21 END

但是,我正在尝试解析它并且不知道该怎么做...有没有办法将输出限制为7的值?如果没有,我该如何获取号码?这也有可能成为一个相当大的数字,如10,000

编辑:我添加了两个选项-qt并将输出结果缩小为:

Begin Informatica Script 9 Redshift Delta copy completed at: 04/10/17 17:53:53 END

在那里,9是我想要的ID。

1 个答案:

答案 0 :(得分:1)

使用GNU sed:

echo 'Begin Informatica Script 9 Redshift Delta copy completed at: 04/10/17 17:53:53 END' | sed -r 's/.*Begin Informatica Script ([0-9,]+) Redshift Delta.*/\1/'

输出:

9