如何解决如何仅使用shell在整个SQLite数据库中搜索字符串?
然后我想知道出现的表和列字符串。
我可以编写一个小的Shell脚本来做到这一点,但是我需要一些指导。 然后我将像这样使用它:
dbSearchString.sh "text to search for" database.db
解决方法
将此Shell脚本写入名为dbSearchString.sh
的文件:
#!/bin/sh
searchFor="$1"
db="$2"
sqlite3 "$db" .tables | while read table; do
output=`sqlite3 -line "$db" "select * from $table" | grep "$searchFor"`
if [[ "$?" -eq 0 ]]; then
echo "Found in ${table}:"
echo "$output"
fi
done
然后在命令行中像这样使用它:
dbSearchString.sh "text to search for" database.db
输出如下:
Found in TABLE1:
Z_PK = text to search for
ZENTITYPK = text to search for
Z_PK = text to search for
Found in TABLE2:
ZENTITYPK = text to search for
Z_PK = text to search for
在macOS和Linux上进行了测试。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。