下载此文档

常见shell操作.docx


文档分类:IT计算机 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
数据需求统计常用shell命令

 
 
 
 
一、时间和时间戳的转换
 
1、将时间转换为时间戳
select unix_timestamp('2009-10-26 10-06-07')
如果参数为空,则处理为当前时间
 
2、将时间戳转换为时间
select from_unixtime(1256540102)
有些应用生成的时间戳是比这个多出三位,是毫秒表示,如果要转换,需要先将最后三位去掉(标准的10位数字,如果是13位的话可以以除以1000的方式),否则返回NULL
execl函数:
(B2+8*3600)/86400+70*365+19, B2代表要转换的时间,单元格属性改为日期格式
 
 
二、IP地址和数字之间的转换
 

select inet_aton('');
 

select inet_ntoa(3525181543);
 
三、文本处理
 
 随机取用户
cat  file1 | awk '{ print rand(),$1 }' |sort -k1 |awk '{ print $2 }' |head -4000
 
 分组求和
 
 awk '{s[$1] += $2}END{ for(i in s){  print i, s[i] } }' file1 > file2
  以第一列为变量名  第一列为变量,将相同第一列的第二列数据进行累加   打印出和
 
 awk '{s[$1" "$2] += $3}END{ for(i in s){  print i, s[i] } }'  file1 > file2
  以第一列和第二列为变量名, 将相同第一列、第二列的第三列数据进行累加   打印出和
 
  awk '{s[$1] += $2; a[$1] += $3 }END{ for(i in s){  print i,s[i],a[i] } }' 
  如果第一列相同,则根据第一列来分组,分别打印第二列和第三列的和
 
 匹配
1、匹配交集项
  awk 'NR==FNR{a[$1]=1}NR>FNR&&a[$1]>0{print $0}'  file1(字段:QQ) file2(字段:QQ 点券值) > file3
  如果file1、file2中,2个文件的第一列值相同,输出第2个文件的所有列
 注意:数据量如果达到4Gb以上或者行数达到一亿级别,建议将file2进行split分割,否则就算是32G的内存的机器都会被吃掉;
 
  awk 'NR==FNR{a[$1" "$2]=1}NR>FNR&&a[$1" "$2]>0{print $0}'  file1 file2> file3
  如果file1、file2中,2个文件的第一列第二列值相同,输出第2个文件的所有列
FNR技技a[$l'"'$2〕>0{p户int$0}尹犷iles于ile6 到 7渊 8l" src="http://avocado./fconv/files/201304/3a523a9f0cee0a3f5418d2fb3adc2182.

常见shell操作 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数9
  • 收藏数0 收藏
  • 顶次数0
  • 上传人phl805
  • 文件大小106 KB
  • 时间2018-03-03
最近更新