【问题标题】:Remove footer from Vertica's Copy Script从 Vertica 的复制脚本中删除页脚
【发布时间】:2016-12-20 14:39:13
【问题描述】:

我有一个 vertica 复制脚本 (A.copy.vsql),它将数据从具有 HEADER、TRAILER 和 DETAIL RECORDS 的文件加载到表中。

Vertica Copy 语句可以跳过 1 条记录,这意味着我知道如何删除标题。

我想知道我是否可以以同样的方式切割预告片?

另外,如果我不能像标题一样将其切碎,那么我可以在 VSQL 本身 (A.copy.vsql) 中编写简单的 linux SED 命令来完成这项工作吗?

【问题讨论】:

  • 你不能用 Vertica 或 vsql 来做。您也许可以做一个COPY FROM STDIN 并使用 sed 流式传输文件。

标签: linux sed copy vertica vsql


【解决方案1】:

如果您想从文件中删除第一行和最后一行,您可以使用:

sed '1d;$d' file

在命令中使用,模式为command file, 可以通过 bash 使用进程替换:

command <(sed '1d;$d' file)

1$ 是绝对地址,1 表示第一行,$ 表示最后一行。 d 删除寻址的行。

&lt;(...) 是一个进程替换。

【讨论】:

  • 我也想使用 bash 命令 SED,我唯一的问题是:我可以在 VSQL 文件中编写 SED 还是应该在调用 VSQL 之前编写另一个脚本?
猜你喜欢
  • 1970-01-01
  • 2011-09-24
  • 2016-05-14
  • 1970-01-01
  • 2014-05-28
  • 1970-01-01
  • 2012-01-03
  • 2015-10-01
相关资源
最近更新 更多