免费注册 查看新帖 |

Chinaunix

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

关于文件合并的问题? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-08-11 15:44 |只看该作者 |倒序浏览
两个文件(其中每个文件第一行最后一个字段为该文件中的记录数)
gy200208090001.txt
TWO 01 20020721 20020820 0001/23 000002
2038638610           2000 008713          20020726021216
2038638611           2038638611           2000 008731               
END 0001/23

gy200208090002.txt
TWO 01 20020721 20020820 0002/23 000003
2038638610           2000 008713          20020726021216
2038638611           2038638611           2000 008731
2038638611           2038638611           2000 008731               
END 0001/23
要合并成一个新的文件gyYYYYMMDDSSnew.txt,其中:
YYYY:为合成文件的生成年份,值:2002 - 2099
MM:为合成文件的生成月份,值:01 – 12
DD:为合成文件的生成日期,值:01-31
SS:为合成文件的生成小时,值:00 - 23
通过shell该如何实现呢?

论坛徽章:
0
2 [报告]
发表于 2004-08-11 16:32 |只看该作者

关于文件合并的问题?

希望合并后的内容是这样的
TWO 01 20020721 20020820 0001/23 000005
2038638610 2000 008713 20020726021216
2038638611 2038638611 2000 008731
2038638610 2000 008713 20020726021216
2038638611 2038638611 2000 008731
2038638611 2038638611 2000 008731
END 0001/23
文件头尾保留,只是文件第一行的最后一个字段加起来
请高手指点,谢谢

论坛徽章:
0
3 [报告]
发表于 2004-08-11 17:52 |只看该作者

关于文件合并的问题?

try this:
#!/bin/bash
#
count1=`cat file1|wc -l`
count2=`cat file2|wc -l`
touch gy`date +%Y%m%d%H`.txt
>gy`date +%Y%m%d%H`.txt
rec1=`cat file1|awk '{print $6}'`
rec2=`cat file2|awk '{print $6}'`
rec=`expr $rec1 + $rec2`
cat file1|awk 'NR==1{printf("%s %s %s %s %s ",$1,$2,$3,$4,$5)}' >>gy`date +%Y%m%d%H`.txt
echo $rec>>gy`date +%Y%m%d%H`.txt
temp=`expr $count1 - 1`
cat file1|sed -n '2,'"$temp"' p' >>gy`date +%Y%m%d%H`.txt
cat file2|sed -n '2,'"$count2"' p' >>gy`date +%Y%m%d%H`.txt

notice: file1,file2改成你的文件名;
        计算结果是5,而不是000005,有待完善。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP