shell 统计GMT0 时区的数据

和某个供应商核对数据,对方是GMT+0时区,我方报表默认北京时间,无法修改为GMT0,

对excel中按照小时级别的数据导出到excel处理,然后转为文本文件,shell转为GMT0进行统计:

前期处理:

先将时间转为"2016-05-01 00:08:00" 格式的数据,便于时间戳的比较。

去除无效的","和"$"符号,便于shell文本处理。

先解决一天的问题,然后循环调用脚本 解决多天的问题。

# for i in `seq  20160501 20160518`  ; do    sh tongji.sh "$i"; done
#!/bin/bash
#test.sh
zone=8
day=20160518
if [  $1 !=  " "  ]  ; then
day=$1
fi

time_begin=`date -d "+$zone hour $day" +"%Y-%m-%d %H:%M:%S"`
time_end=`date -d "+$zone hour +1 day $day" +"%Y-%m-%d %H:%M:%S"`
echo "time_begin is:  $time_begin , time_end is $time_end"
filename="may-1-18-cost-imp.txt"
cat  "$filename"  |awk -F "\t"   ‘{
     if ($3>= "‘"$time_end"‘" || $3 < "‘"$time_begin"‘") {
        next;
    }else {
          print $3 ,$15
    }
    if( $15 != "-" ){
        cost += $15
    }

    if( $7 != "-" ){
        impress += $7
    }

}END{
print    impress, cost

}‘
时间: 2024-10-27 17:26:39

shell 统计GMT0 时区的数据的相关文章

&lt;shell&gt;迭代读取redis解决数据不稳定问题

问题背景: php读取线上redis数据,经常不稳定,数据响应时有时无. 解决方法:多次读取,每次读取所有上一次没读出的数据,直到全部获取. 本文实现用shell进行多次redis数据读取, 每次取出其中的有效值(对于我们的例子中,就是给key,能在redis上取得其value的为有效值,其他无效),并将无效值重跑一遍,以此迭代,直到所有redis数据被取出.PS:redis数据可以由php或C读出,给定接口的话非常简单,具体可以参考phpredis,,由于可能涉密,本文中不给出这块的实现. 方

shell脚本不换行刷新数据

#!/bin/bash while [ 1 ] do a=$(ifconfig eth0 | grep 'RX pac' | awk '{print $2}' | awk -F: '{print $NF}') echo -ne "$a\r"  #不换行刷新数据 done echo 参 数:-n 不要在最后自动换行 -e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出: \a 发出警告声: \b 删除前一个字符: \c 最后不加上换行符号: \f 换行但光标仍旧停留在

使用jq工具在Shell命令行处理JSON数据

因为最近要处理一些 JSON 数据格式,一大早经过一番搜索后,最终找到了 jq 这个很棒的工具.jq 允许你直接在命令行下对 JSON 进行操作,包括分片.过滤.转换等等. 首先在mac下安装jq,使用brew install jq就可以了,前提是安装了homebrew,如果在linux ubuntu下,应该可以使用sudo apt-get install jq安装. 让我们通过几个例子来说明 jq 的功能: 一.输出格式化,漂亮的打印效果 如果我们用文本编辑器打开 JSON,有时候可能看起来会

作业一 统计软件简介与数据操作

spss软件 所属类别 : 软件 SPSS(Statistical Product and Service Solutions),"统计产品与服务解决方案"软件.最初软件全称为"社会科学"(SolutionsStatistical Package for the Social Sciences),但是随着SPSS产品服务领域的扩大和服务深度的增加,SPSS公司已于2000年正式将英文全称更改为"统计产品与服务解决方案",标志着SPSS的战略方向正

shell统计特征数量

今天太懒了,不想一个特征一个特征去统计,随手写了个脚本 #!/bin/bash dir_bas=$(cd $(dirname ${0});pwd) A=`cat $dir_bas/feat` feat_bas=$1 total=0 for B in $A do echo $B count=`grep "$B" $feat_bas | wc -l` echo $count ((total=$count+$total)) done echo "total feat num is

Linux作业(三)-shell统计某文章中出现频率最高的N个单词并排序输出出现次数

Linux课上的作业周三交,若有考虑不周到的地方,还请多多不吝赐教. shell处理文本相关的经常使用命令见此博客 # #假设输入两个參数 则第一个为统计单词的个数.第二个为要统计的文章 #假设输入一个參数 则默认统计单词的个数为10 # 详细思路: 将各种符号用换行替换(tr命令) 大写改小写(tr命令) 排序.统计单词个数并除去反复 (sort和uniq) 按出现次数的高低排序(sort) 打印N个须要统计的单词 #!/bin/bash if [ $# -ne 2 -a $# -ne 1 ]

shell统计文本中单词的出现次数

Ubuntu14.04 给定一个文本,统计其中单词出现的次数 # solution 1 grep与awk配合使用,写成一个sh脚本 fre.sh sh fre.sh wordfretest.txt #! /bin/bash# solution 1 if [ $# -eq 0 ] then echo "Usage:$0 args error" exit 0 fi if [ $# -ge 2 ] then echo "analyse the first file $1"

shell统计日志信息

一般应用中都会使用log4j记录日志信息,并每天生成一个日志文件,每个文件以当天的日期结尾. 如何统计并分析这些日志信息? 最简单的,使用shell脚本进行统计分析: 下面的脚本就将最近一周的日志文件的行数进行了统计并罗列出来,还和上周的进行了比较. 可以将分析出来的信息输出到一个特定文件中,将该文件发送邮件或给web服务进行显示. date echo "========================================================" echo &qu

一条shell统计代码行数

Xcode统计代码,用shell命令即可,非常简单.打开终端,进入你的工程目录,执行下列代码 find . -name "*.m" -or -name "*.h" -or -name "*.html" -or -name "*.c" |xargs wc -l 如果要统计ios开发代码,包括头文件的,命令如下 find . -name "*.m" -or -name "*.h" -or -