Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 用于导入的sqlite字段分隔符_Bash_Sqlite - Fatal编程技术网

Bash 用于导入的sqlite字段分隔符

Bash 用于导入的sqlite字段分隔符,bash,sqlite,Bash,Sqlite,我刚开始在日志处理系统中使用SQLite,我只是将一个文件导入到SQLite数据库中,该数据库以“@”作为字段分隔符 如果我在SQLite repl中运行以下命令 $ sqlite3 log.db sqlite> .separator "@" sqlite> .import output log_dump 它起作用了[导入成功]。但是如果我尝试通过bash脚本执行同样的操作 sqlite log.db '.separator "@"' sqlite log.db '.import

我刚开始在日志处理系统中使用SQLite,我只是将一个文件导入到SQLite数据库中,该数据库以“@”作为字段分隔符

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

$ sqlite3 log.db 
sqlite> .separator "@"
sqlite> .import output log_dump
它起作用了[导入成功]。但是如果我尝试通过bash脚本执行同样的操作

sqlite log.db '.separator "@"'
sqlite log.db '.import output log_dump'
没有。分隔符移回“|”,我得到一个错误,说没有足够的列

output line 1: expected 12 columns of data but found 1

如何解决此问题?

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

echo -e '.separator "@"\n.import output log_dump' | sqlite log.db
通过谷歌在SO中找到了这个。因为问题的标题不合适,所以在提问中找不到。