TypeCodes

使用shell脚本导出MySql查询的月表数据到EXCEL中

经常会踫到这样的场景需求:自定义时间从MySql流水月表中SELECT出来数据到excel报表文件中,所以自己写了这个shell脚本来处理。

1 实现思路

代码比较简单,主要使用了mysql -e执行SQL语句,然后重定向到txt文件中。由于linux默认是uft-8的格式,所以在使用awk命令处理完txt文件后,通过 …

- 阅读剩余部分 -

使用shell脚本批量插入数据到MySQL中

经常会踫到这样的场景需求:批量向MySQL数据库插入数据,显然手工INSERT成千上万条数据是不现实的,所以自己写了这个shell脚本来处理。

1 具体需求

shell脚本批量插入10万条数据到MySQL中,其中对应表唯一索引是用户uid。因此在程序循环1万次数时,每次都使uid自增1就行了。

使用shell脚本批量插入数据到MySQL中

2 脚本代码

鉴于数据量比较大,我们的shell脚本需要考虑MySQL执行INSERT …

- 阅读剩余部分 -

awk中符点型小数去掉小数点转换成整数的方法

在写shell脚本时,会遇到要把一个符点数转换成整数的情况。之前线上一个shell脚本在用awk从文本中读取出一个带两位小数的符点数后,是直接把它乘以100转换成整数的。脚本一直运行正常,直到后面遇到了一个符点数19004.44,它在乘以100后得到的不是1900444而是科学记数1.90044e+06,导致导入数据库失败。后面测试发现符点数19004.42也存在同样的问题,如果下图所示 …

- 阅读剩余部分 -

使用shell脚本解决Navicat导出excel数据不全的问题

月末需要对系统注册用户进行报表统计,在使用Navicat从MySQL数据库中导出数据到excel文件时,发现最大只能导出为65536(美好的数字)行的数据。按理说 Navicat应该是从数据库中读取一条记录会立即写到excel文件中,不应该只读取65536范围内的数据然后一次性写到文件里面。

1 问题转换

鉴于Navicat的限制,只能想想其它办法了,这里选择使用shell脚本来处理。如下图所示,在Navicat中对select出来的数据右键,然后选择复制为-制表符分隔值(字段名和数据)把select出来的数据粘贴到任意文本文档中 …

- 阅读剩余部分 -

修复CentOS7升级Python到3.6版本后yum不能使用的问题

之前把现有这台阿里CentOS7.2系统的Python2.7.5升级成Python3.6后,yum工具就不能使用了。当时网上查了下原因,都说是Python3导致的,但是试了很多种方法还是没解决,后面也就一直没管了。因为最近要弄一个Nodejs微信小程序,需要用yum安装一些开发工具,就不得不修复这个问题了。

CentOS7.2中Python3版本导致yum不能使用

1 yum工具报错情况

直接执行yum命令就会提示/usr/bin …

- 阅读剩余部分 -

shell遍历输出两个日期范围内所有的日期

在平常c/c++开发中经常遇到日期处理的情形,例如求两个给定的日期之间相差的天数或者需要使用map存储两个固定日期范围内的所有日期。前段时间项目中需要用shell脚本批量处理给定的两个日期范围内所有日期产生的日志,当时以为shell处理不方便就用c++来处理了。后面用shell实现了下,发现也挺简单的。

shell遍历输出两个日期范围内所有的日期

1 思路流程

1、显然不能直接把这两个日期当作整数相减得到差值然后把初始日期不断累加1得到所有的日期,而且要考虑大小月的问题。

2、为了以后开发的方便,需要把这个求两个固定上期范围内的所有日期功能封装在一个函数(即下面脚本中的genAlldate)中 …

- 阅读剩余部分 -