免费注册 查看新帖 |

Chinaunix

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

如何提取同一文件的最新版号? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-17 20:22 |只看该作者 |倒序浏览
下面的一些CVS中相同文件的各个版本号有所不同,有什么好的方法来提取这些文件的最新版本吗?比如下面的文件需要提取出来的是:

======================
/andy/data/CVS/aa.1.0
/andy/data/CVS/aa.1.1
/andy/data/CVS/aa.1.2
/andy/data/CVS/aa.1.3
/andy/data/CVS/aa.1.4
/andy/data/CVS/aa.2.0
/andy/data/CVS/bb.1.0
/andy/data/CVS/bb.1.1
/andy/data/CVS/bb.1.2
/andy/data/CVS/cc.1.3
/andy/data/CVS/cc.1.4
/andy/data/CVS/cc.1.5
/andy/data/CVS/dd.1.5
/andy/data/CVS/dd.1.6
/andy/data/CVS/dd.1.7
======================

需要预期的结果是这样的:

/andy/data/CVS/aa.2.0
/andy/data/CVS/bb.1.2
/andy/data/CVS/cc.1.5
/andy/data/CVS/dd.1.7


高手指点指点怎样才能实现呢?

论坛徽章:
0
2 [报告]
发表于 2009-08-17 20:55 |只看该作者
sort cvs.txt | gawk 'BEGIN{FS="."}{newline=$1; a[NR]=$0; if(newline!=oldline) { print a[NR-1]; oldline=newline}}END{print a[NR]}'

[ 本帖最后由 yy_galois 于 2009-8-17 21:04 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2009-08-17 20:56 |只看该作者
  1. sort -r f | awk '{a=substr($1,1,18);if(!s[a]) s[a]=$0}END{for(i in s) print s[i]}'
复制代码

[ 本帖最后由 lucash 于 2009-8-17 21:08 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2009-08-17 21:12 |只看该作者
  1. sed 's/\./\t/' f | sort -r | awk '{if(!s[$1]) s[$1]=$1"."$2}END{for(i in s) print s[i]}'
复制代码

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
5 [报告]
发表于 2009-08-17 22:27 |只看该作者

回复 #1 kszz0402940 的帖子

CVS本身应有这个功能啊。

论坛徽章:
0
6 [报告]
发表于 2009-08-17 23:07 |只看该作者
谢谢 yy_galois   和 lucash 的答复,测试过是可以的,有些还不明白~~~

黑哥有啥方法解指教一二啊?

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
7 [报告]
发表于 2009-08-17 23:12 |只看该作者
文件名都只有两个字符
  1. sort -t / -k 5.1,5.3  -k 5.4rn urfile|sort -t / -uk 5.1,5.3
复制代码

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
8 [报告]
发表于 2009-08-17 23:13 |只看该作者

回复 #6 kszz0402940 的帖子

作为赫赫有名的VCS,CVS应该有这个功能。你不是在用CVS吗?

论坛徽章:
0
9 [报告]
发表于 2009-08-17 23:14 |只看该作者

回复 #7 blackold 的帖子

这个文件名不一定都是2个字符啊

论坛徽章:
0
10 [报告]
发表于 2009-08-17 23:16 |只看该作者
原帖由 blackold 于 2009-8-17 23:13 发表
作为赫赫有名的VCS,CVS应该有这个功能。你不是在用CVS吗?


想用脚本实现一下比较好
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP