gpt4 book ai didi

string - 如何在查询中填充 SQL

转载 作者:行者123 更新时间:2023-11-29 09:21:37 25 4
gpt4 key购买 nike

我有一个通用的 SQL 查询,我想使用 bash 从我从中获取字符串的 grep 命令填充所有行。我从我从中提取字符串的文件中获取的字符串数量也各不相同。

示例查询:

    select * from table_name
where column_name in ('string',
'string',
'string',
'string',
'string',
'string',
'string',)

基本上,我查看电子邮件消息 ID 并获得消息 ID 的输出。每行一个字符串。

grep -Eoh "[a-z0-9]{0,9}\.0\.[0-9]{0,9}\.00\-[0-9]{0,9}\.[0-9]{0,9}\.[a-z0-9{0,10}\.hostname.com" *filename.txt 

62e60645.0.2279968.00-2316.3908868.d02c12m066.hostname.com
3ebe0645.0.522591.00-2200.908364.a02c11m025.hostname.com
356f0645.0.1401456.00-2085.2306795.g02c12m014.hostname.com
9a001645.0.1594149.00-1533.2646910.y01c12m093.hostname.com

等等。

我想做的是将我的 grep 命令中的所有字符串自动插入到查询中,这样我就可以简单地粘贴字符串并运行。

最佳答案

$ echo 'select * from table_name where column_name in ('"$(grep -Eoh '[a-z0-9]{0,9}\.0\.[0-9]{0,9}\.00\-[0-9]{0,9}\.[0-9]{0,9}\.[a-z0-9]{0,10}\.hostname.com' *filename.txt | awk -v ORS=', ' '{print "\047"$0"\047"}')"')'
select * from table_name where column_name in ('62e60645.0.2279968.00-2316.3908868.d02c12m066.hostname.com', '3ebe0645.0.522591.00-2200.908364.a02c11m025.hostname.com', '356f0645.0.1401456.00-2085.2306795.g02c12m014.hostname.com', '9a001645.0.1594149.00-1533.2646910.y01c12m093.hostname.com', )

修正了您的 grep 正则表达式中的拼写错误。您错过了最后一个范围的结束 ]

内部 awk 命令执行从行到列表的格式化。

awk -v ORS=', ' '{print "\047"$0"\047"}')"'

-v ORS=', ' 设置ORS(输出记录分隔符为,)

{print "\047"$0"\047"}ORS 的值打印每一行前后有 '加在最后。

关于string - 如何在查询中填充 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27280428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com