时间:2020-10-14 14:59:31 | 栏目:Shell | 点击:次
概述
当我们在处理线上故障的时候,经常会从数据库表查询出某个列。
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 }'
总结