忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT HPC论坛 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
12下一页
最近访问板块 发新帖
查看: 4894 | 回复: 11

[文本处理] 急,求一条查询子文件夹的统计语句 [复制链接]

论坛徽章:
0
发表于 2017-07-03 19:12 |显示全部楼层

      查询一个磁盘某个子文件夹privite 下某天的日志多少MB,多少行,
        如    /data01/mobile/xx/x/private/access.20170501
               /data01/mobile/xx/x/public/access.20170501
               /data01/mobile/xx/x/private/access.20170501.mdok
               /data01/139ab/xxab/private/ng-access.20170501
               /data01/139ab/xxab/private/ng-access.20170501.mdok
   备注:每天会收集很多数据, 为了确保文件收集的完整性,文件结尾的*.mdok 表示access.20170501这个文件可以统计了。
    每天统计一次private这个文件夹下有多少个日志(条件是:当这个文件的mdok产生后,才可以统计),
     统计结果第一列是日志_日期(yyyymmdd),第二列是 多少MB  第三列是 有多少行
        想要的count.txt结果是(tab 键做分隔符):
                                 access.20170501   120MB   5000
                                 ng-access.20170501   1000MB  20000

论坛徽章:
115
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07巳蛇
日期:2014-05-09 16:43:18巨蟹座
日期:2014-10-23 17:48:38子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59
发表于 2017-07-03 23:18 |显示全部楼层
回复 1# wzltian

$ ls private/*.mdok | awk 'sub("[.]mdok$",""){cmd="wc -cl "$0;cmd | getline;close(cmd);sub(".*/","",$3);printf("%-20s %8s %10d\n",$3,int($2/1024**2)"M",$1)}'
access.20170501            4M     300000
ng-access.20170501       200M    1210550

论坛徽章:
38
辰龙
日期:2013-08-21 15:45:19寅虎
日期:2014-06-09 12:52:17双鱼座
日期:2014-06-10 12:42:44巨蟹座
日期:2014-06-12 23:17:17戌狗
日期:2014-06-17 09:53:29未羊
日期:2014-10-10 13:45:41申猴
日期:2015-03-03 17:21:37亥猪
日期:2015-03-03 17:22:002015亚冠之广州富力
日期:2015-05-12 16:34:522015亚冠之卡尔希纳萨夫
日期:2015-05-24 15:24:35黄金圣斗士
日期:2015-12-02 17:25:08平安夜徽章
日期:2015-12-26 00:06:30
发表于 2017-07-04 09:17 |显示全部楼层
本帖最后由 关阴月飞 于 2017-07-04 10:50 编辑

wc -lc  privite/*.mdok   |awk 'sub(/.mdok$/,a){print $NF,$2/1024/1024"M",$1}'

论坛徽章:
0
发表于 2017-07-04 10:27 |显示全部楼层
回复 2# jason680

谢谢你,  不过我试了多次, 都是报这个错   ls: cannot access  的错误

论坛徽章:
0
发表于 2017-07-04 10:30 |显示全部楼层
回复 3# 关阴月飞

不好意思,   你这个也是错的,  报错类似  No such file or directory   ,还有一点就是,我是在/data01  这个目录下执行命令,不是在private下执行

论坛徽章:
0
发表于 2017-07-04 10:30 |显示全部楼层
回复 4# wzltian

还有一点就是,我是在/data01  这个目录下执行命令,不是在private下执行

论坛徽章:
38
辰龙
日期:2013-08-21 15:45:19寅虎
日期:2014-06-09 12:52:17双鱼座
日期:2014-06-10 12:42:44巨蟹座
日期:2014-06-12 23:17:17戌狗
日期:2014-06-17 09:53:29未羊
日期:2014-10-10 13:45:41申猴
日期:2015-03-03 17:21:37亥猪
日期:2015-03-03 17:22:002015亚冠之广州富力
日期:2015-05-12 16:34:522015亚冠之卡尔希纳萨夫
日期:2015-05-24 15:24:35黄金圣斗士
日期:2015-12-02 17:25:08平安夜徽章
日期:2015-12-26 00:06:30
发表于 2017-07-04 10:46 |显示全部楼层
回复 6# wzltian
目录变了,你自己改一下就好了呀:
wc -lc  /data01/*.mdok   |awk 'sub(/.mdok$/,a){print $NF,$2/1024/1024"M",$1}'

论坛徽章:
0
发表于 2017-07-04 10:54 |显示全部楼层
回复 7# 关阴月飞

  试过多次,还是报  No such file or directory  这样的错误,不好意思是我没有说清楚, 因为磁盘下文件很多,我举例时,就举了几个例子没有把问题说青瓷,private是子文件夹,类似这样/data01/139ab/xxab/private/ng-access.20170501  的,或  data01/mobile/xx/x/private/access.20170501  类似这样的,我要统计的就是每日private下的文件有多少MB 和多少行。

论坛徽章:
115
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07巳蛇
日期:2014-05-09 16:43:18巨蟹座
日期:2014-10-23 17:48:38子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59
发表于 2017-07-04 10:54 |显示全部楼层
本帖最后由 jason680 于 2017-07-04 11:01 编辑

回复 4# wzltian

$ pwd
/tmp/data01

$ find . -type f
./mobile/xx/private/access.20170501
./mobile/xx/private/access.20170501.mdok
./mobile/xx/public/access.20170501
./139ab/xxab/private/ng-access.20170501
./139ab/xxab/private/ng-access.20170501.mdok

$ find . -name "*.mdok" -type f | awk '/private/{sub("[.]mdok$","");cmd="wc -cl "$0;cmd | getline;close(cmd);printf("%-20s %8s %10d\n",$3,int($2/1024**2)"M",$1)}'
./mobile/xx/private/access.20170501       4M     300000
./139ab/xxab/private/ng-access.20170501     200M    1210550

$ find . -name "*.mdok" -type f | awk '/private/{sub("[.]mdok$","");cmd="wc -cl "$0;cmd | getline;close(cmd);sub(".*/","",$3);printf("%-20s %8s %10d\n",$3,int($2/1024**2)"M",$1)}'
access.20170501            4M     300000
ng-access.20170501       200M    1210550



评分

参与人数 1信誉积分 +50 收起 理由
wzltian + 50 很给力!

查看全部评分

论坛徽章:
0
发表于 2017-07-04 10:55 |显示全部楼层
回复 8# wzltian

   不好意思打错字,不是“青瓷” 是清楚  /data01/mobile/xx/x/private/access.20170501(前面少了一个/)  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10张SACC2017门票等你来拿~

在数字化转型时代,云已成为万物智能的数字化大脑。而随着大数据应用、人工智能、移动互联网等技术的飞速发展,“智慧 +” 的概念正在深入到各行各业,提升企业效率,释放商业潜能,创造全新机遇。作为国内顶级技术盛会之一,2017 中国系统架构师大会(SACC2017)将于 10 月 19-21 日在北京新云南皇冠假日酒店震撼来袭。今年,大会以 “云智未来” 为主题,云集国内外顶级专家,围绕云计算、人工智能、大数据、移动互联网、产业应用等热点领域展开技术探讨与交流。本届大会共设置 2 大主会场,18 个技术专场;邀请来自互联网、金融、制造业、电商等多个领域,100 余位技术专家及行业领袖来分享他们的经验;并将吸引 4000 + 人次的系统运维、架构师及 IT 决策人士参会,为他们提供最具价值的交流平台。
----------------------------------------
优惠时间:2017年10月19日前

活动链接>>
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP