免费注册 查看新帖 |

Chinaunix

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

求助!多个有规律文件名合并的问题... [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-04-20 14:35 |只看该作者 |倒序浏览
有如下有规则的文件名:
ls:

obj_1_AB_1.30010578
obj_1_AB_1.30011321
obj_1_AB_1.30007541
obj_2_DE_1.30011122
obj_2_DE_2.30062001
obj_3_FA_1.30013520
obj_4_GI_1.30050026
obj_4_GI_2.30080100
.......
.......
obj_21_UO_1.30072990
obj_21_UO_2.30015980
obj_21_UO_3.30020015
obj_21_UO_4.30015620
obj_21_UO_5.30090121
==============================

想把它们合并:例如:
obj_1_AB_1.30010578
obj_1_AB_1.30011321
obj_1_AB_1.30007541 合并成:obj_1_AB.300

obj_2_DE_1.30011122
obj_2_DE_2.30062001  合并成bj_2_DE.300

依次类推,把它们合并后得到文件名:
obj_1_AB.300
obj_2_DE.300
obj_3_FA.300
obj_4_GI.300
.......
.......
obj_21_UO.300

想用awk来做,该如何实现呢?一点思路都没有啊!请高人指点指点,谢谢大家!

论坛徽章:
0
2 [报告]
发表于 2011-04-20 14:37 |只看该作者
忘了说明一点,按照上述要求,是将文件内容合并后生成一个文件,谢谢大家了

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
3 [报告]
发表于 2011-04-20 14:38 |只看该作者
本帖最后由 yinyuemi 于 2011-04-20 14:40 编辑

回复 1# xiao_lin 晕,看错了

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
4 [报告]
发表于 2011-04-20 14:45 |只看该作者
回复 2# xiao_lin


    试试这个:
  1. awk '{file=gensub(/([^.]*)\.(...).*/,"\\1.\\2",1,FILENAME);print >file}'  *
复制代码

论坛徽章:
0
5 [报告]
发表于 2011-04-20 14:46 |只看该作者
楼上没关系,谢谢您回复,期待您的解答,谢谢

论坛徽章:
0
6 [报告]
发表于 2011-04-20 14:48 |只看该作者
awk -F '[_.]' '{a[$1"_"$2"_"$3"."substr($5,1,3)]}END{for (j in a) print j}' file

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
7 [报告]
发表于 2011-04-20 14:53 |只看该作者
回复 1# xiao_lin


    貌似我又理解错了,你是想合并文件,还是只是处理这几个文件名

论坛徽章:
0
8 [报告]
发表于 2011-04-20 14:56 |只看该作者
本帖最后由 ywlscpl 于 2011-04-20 14:57 编辑

回复 7# yinyuemi


貌似我也理解错了?

论坛徽章:
0
9 [报告]
发表于 2011-04-20 14:58 |只看该作者
是想把文件合并生成指定的文件名,例如:

obj_1_AB_1.30010578
obj_1_AB_1.30011321
obj_1_AB_1.30007541 合并成:obj_1_AB.300

obj_2_DE_1.30011122
obj_2_DE_2.30062001  合并成bj_2_DE.300

obj_3_FA_1.30013520  只有一个文件,那就变成 obj_3_FA.300好了

依次类推,谢谢了

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
10 [报告]
发表于 2011-04-20 15:02 |只看该作者
回复 9# xiao_lin


    如果是合并文件的话,可以试试,
awk '{file=gensub(/([^.]*)\.(...).*/,"\\1.\\2",1,FILENAME);print >file}'  obj*
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP