概述
当我们在处理线上故障的时候,经常会从数据库表查询出某个列。
select product_id from order where user_id = 111;
查询出来的结果形式如下:
1
2
3
4
5
这个时候,我们通常会以
product_id in (1,2,3,4,5)
的形式去查找商品表,找出商品的详细信息。那么如何得到这个(1,2,3,4,5)呢。一种简单的做法就是利用awk。
cat temp.txt | awk ‘BEGIN{ORS=","} {print $0}’
结果如下:
1,2,3,4,5,
然后把最后一个逗号去掉,再加上in关键字即可。
当然我们也可以进行反向操作。假设temp.txt文本的内容如下:
1,2,3,4,5
想转成
1
2
3
4
5
则可以使用如下命令:
cat temp.txt | awk ‘BEGIN{ RS=","; } { print $0 }’
本文介绍了一种利用awk工具处理SQL查询结果的方法,通过示例展示了如何将查询到的产品ID列表转换为适合后续IN子查询的格式,以及如何逆向操作。此技巧适用于快速处理大量数据,提高数据处理效率。
1152

被折叠的 条评论
为什么被折叠?



