我想将 15GB 文件逗号分隔的 gzip 压缩文件导入 Sqlite 3,而不必使用临时文件。
我想运行如下命令:
zcat input/surgical_code.csv.gz | tail -n +2 | sqlite3 db.sqlite ".import /dev/stdin surgical_code"
Run Code Online (Sandbox Code Playgroud)
这会解压缩文件,跳过标题并尝试导入。
问题是我无法在与 SQlite3 相同的引用命令上指定.mode cvs
和.separator ","
。
有任何想法吗?
使用$(echo -e 'line1\nline2')
对我不起作用:
gzcat input/surgical_code.csv.gz | tail -n +2 | sqlite3 db.sqlite $(echo -e '.mode csv \n .separator \",\"\n.import /dev/stdin')
Run Code Online (Sandbox Code Playgroud)
Error: mode should be one of: ascii column csv html insert line list tabs tcl