免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1154 | 回复: 1
打印 上一主题 下一主题

[文本处理] 请教:和读取文件list中文件名是否匹配的shell写法 [复制链接]

论坛徽章:
4
程序设计版块每日发帖之星
日期:2015-10-10 06:20:00每日论坛发贴之星
日期:2015-10-10 06:20:00程序设计版块每日发帖之星
日期:2015-10-11 06:20:00程序设计版块每日发帖之星
日期:2015-10-25 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-02-19 19:06 |只看该作者 |倒序浏览
本帖最后由 robinhappiness 于 2016-02-19 19:06 编辑

请教各位前辈一个文件名匹配的shell写法,谢谢!

读取文件list如下
$cat /ABCread_dir/id_list.csv
ABCAA111 ABCAA112 ABCAA113

统计文件行数对象如下:
$wc -l /ABCtarget_dir/*
10 ABCAA111_20160214-001.csv
10 ABCAA111_20160215-001.csv
10 ABCAA111_20160216-001.csv
10 ABCAA111_20160216-002.csv
10 ABCAA112_20160214-001.csv
50 total

目录/ABCtarget_dir/下的文件名中的前8位和id_list.csv中的文件名匹配。

想要实现功能:
如果目录/ABCtarget_dir/下,前8位是ABCAA111的一个或者多个文件 和/ABCread_dir/id_list.csv文件中的ABCAA111能够匹配到的话,
然后计算/ABCtarget_dir/下所有以ABCAA111开头的文件行数的总和,输出到目录/ABCtarget_dir/下的ABCAA111.txt文件中。
output: wc -l ABCAA111.txt 为40条数据
output: wc -l ABCAA112.txt 为10条数据

如果文件/ABCread_dir/id_list.csv中的ABCAA113 匹配不到目录/ABCtarget_dir/下的文件名中的前8位的话,
记ABCAA113为0件之后输出到目录/ABCtarget_dir/下的ABCAA113.txt文件中。
output: wc -l ABCAA112.txt 为0条数据

论坛徽章:
25
程序设计版块每日发帖之星
日期:2016-05-03 06:20:0015-16赛季CBA联赛之八一
日期:2018-07-05 10:34:09黑曼巴
日期:2018-07-06 15:19:5015-16赛季CBA联赛之佛山
日期:2018-08-03 13:19:3315-16赛季CBA联赛之山西
日期:2018-08-07 19:46:2315-16赛季CBA联赛之广夏
日期:2018-08-08 19:31:5015-16赛季CBA联赛之青岛
日期:2018-11-26 15:21:5015-16赛季CBA联赛之上海
日期:2018-12-11 09:45:3219周年集字徽章-年
日期:2020-04-18 23:54:5215-16赛季CBA联赛之深圳
日期:2020-04-19 21:40:19黑曼巴
日期:2022-04-03 17:55:1315-16赛季CBA联赛之八一
日期:2018-07-03 16:56:46
2 [报告]
发表于 2016-02-21 14:46 |只看该作者
  1. #! /bin/bash
  2. cd ABCread_dir
  3. for a in `cat id_list.csv`;do
  4. rm -rf $a.txt
  5. b=`ls -l |awk '$NF~/'"$a"'.*/'|wc -l`
  6. case $b in
  7. 0)
  8. echo output: wc -l $a.txt 为0条数据>"$a".txt
  9. ;;
  10. *)
  11. wc -l $a*|awk '{t=$1}END{print "output: wc -l $a.txt 为"t"条数据">"'"$a"'.txt"}'
  12. ;;
  13. esac
  14. done
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP