最近系统上线,需要统计一些数据,但是有些数据存在log里面,有些数据存放在数据库中,需要一种既可以读取文件又可以操作远程数据库的方式,shell可以很方便的实现这个功能,这里把shell读取远程数据库和数组的方式记录如下
shell中访问远程数据库,需要安装mysql的客户端,利用mysql远程操作进行sql语句的执行和数据获取,简单示例如下:
通过以上语句可以将数据库查询得到的值赋给RESULT,如果需要对选择出来的记录进行拼接,可以采用如下方式: 数据的使用场景是:集合SETA,集合SETB,集合SETA包含集合SETB,需要将在SETA中但是不在SETB中取出来,python里面非常好做,但是在shell处理中,着实花了一点时间来实现,主要是利用shell的数组实现,集合SETA和集合SETB的记录都用","分隔,主要实现方式如下: 最后SETC得到的就是在A中但是不在B中的topicid的集合,并且是用","分隔的字符串,如果topicid不在topicids,输出的就不是数字,if的逻辑就是筛选出在集合里面的topicid。