【发布时间】:2014-02-07 05:41:48
【问题描述】:
我有一个 sqlite 数据库表,其中包含存储名称、位置和注释的三列。似乎所有内容都正确存储,因为在使用 sqlite 命令行时,我看到了正确的列数并且数据分组正确。
使用 bash 脚本(这是一项要求)访问数据时会出现问题。 “注释”列存储可能是多行的数据(带有换行符等)。当我查询此表时,使用如下内容:
stmt="Select name, location, notes from t1"
sqlite3 db "$stmt" | while read ROW;
do
name=`echo $V_ROW | awk '{split($0,a,"|"); print a[1]}'`
location=`echo $V_ROW | awk '{split($0,a,"|"); print a[2]}'`
notes=`echo $V_ROW | awk '{split($0,a,"|"); print a[3]}'`
done
在注释列中的第一个换行符之前,一切正常。在此之后,每个注释行都被视为一个新行。在 bash 中处理这个问题的正确方法是什么?
【问题讨论】:
-
你应该看看
.mode命令到sqlite3。