用于导入的sqlite字段分隔符

Tam*_*mil 3 sqlite bash

我刚刚开始在我们的日志处理系统中使用SQLite,我只是将文件导入到sqlite数据库中,该数据库有'@'作为字段分隔符.

如果我在SQLite repl中运行以下命令

$ sqlite3 log.db 
sqlite> .separator "@"
sqlite> .import output log_dump
Run Code Online (Sandbox Code Playgroud)

它有效[导入成功].但是如果我尝试通过bash脚本做同样的事情

sqlite log.db '.separator "@"'
sqlite log.db '.import output log_dump'
Run Code Online (Sandbox Code Playgroud)

它没有.分隔符转回"|" 我收到一个错误,说没有足够的列

output line 1: expected 12 columns of data but found 1
Run Code Online (Sandbox Code Playgroud)

我怎样才能克服这个问题?

kev*_*kev 5

您应该同时将两个命令传递给sqlite:

echo -e '.separator "@"\n.import output log_dump' | sqlite log.db
Run Code Online (Sandbox Code Playgroud)