背景。 我已经弄脏了"脏"我需要导入SQLITE的数据。我每天都有5-6万行,所以我需要一些自动化。数据以.txt文件形式显示,标签分隔。
这是我的代码,直到现在:
<<
DROP TABLE IF EXISTS Import;
CREATE TABLE Import (field1 text,field2 text,field3 text,field4 text,field5 text,field6 text,field7 text,field8 text,field9 text,field10 text,field11 text);
.mode csv
.separator "\t"
.import MyFile.txt import
SELECT COUNT(*) AS count FROM import;
>>
它有效,但是因为数据包含(未闭合)&#34;在一些行的末尾标记,因此我的导入错过了大约20%的行。 编辑 - 添加了示例数据
name.2017 11301 KX_204 text/X1 text.url 2017-07-24 12:56:49.000 "t
name.2017 11301 KX_205 text/X2 text.url 2017-07-24 12:56:49.000 "th
name.2017 11301 KX_206 text/X3 text.url 2017-07-24 12:56:49.000 "the
name.2017 11301 KX_207 text/X4 text.url 2017-07-24 12:56:49.000
name.2017 11301 KX_208 text/X5 text.url 2017-07-24 12:56:49.000 "da
如果我通过SQLITE GUI(SQliteBrowser)进行导入,则在取消选中&#34; -box时它可以正常工作。
如何从命令行完成相同操作?
答案 0 :(得分:0)
你可以像这样使用sed
丢弃双引号和后面的任何内容:
sed 's/".*//' MyFile.txt > CleanedUp.txt