2016-12-20 37 views
0

我有一個Vertica副本腳本(A.copy.vsql),它將數據從具有HEADER,TRAILER和DETAIL RECORDS的文件加載到表中。從Vertica的複製腳本中刪除頁腳

Vertica Copy語句可以跳過1條記錄,這意味着我知道如何刪除標題。

我想知道我是否可以用相同的方式切割預告片?另外,如果我不能像頭一樣砍它,那麼我可以在VSQL本身(A.copy.vsql)中編寫簡單的linux SED命令來完成這項工作嗎?

+0

您無法使用Vertica或vsql完成此操作。你也許可以做'從STDIN複製'並使用sed流式傳輸文件。 – woot

回答

1

如果你想刪除一個文件的第一個和最後一個行,您可以使用:

sed '1d;$d' file 

而且在命令中使用,與圖案command file, 一個也可以,使用bash,使用進程替換:

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

1$是絕對地址,1表示第一行中,而$意味着最後。 d刪除所處理的行。

<(...)是一個進程替換。

+0

我也想使用bash命令SED,我唯一的問題是:我可以在VSQL文件中編寫SED還是應該在調用我的VSQL之前創建另一個腳本? –