免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: leezer
打印 上一主题 下一主题

求助--号码段汇总 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2009-05-14 11:21 |只看该作者

回复 #5 li2002 的帖子

如果没有其他的方法,你的就最佳了!
可以把满足要求的6位号码段和7位号码段一步操作保存吗?

论坛徽章:
0
12 [报告]
发表于 2009-05-14 11:25 |只看该作者

回复 #11 leezer 的帖子

很保存成什么?按原来顺序保存在一起并形成一行?

论坛徽章:
0
13 [报告]
发表于 2009-05-14 11:26 |只看该作者

回复 #12 li2002 的帖子

将汇总出来的6位号码段和保留的7位号码段,都保存至file1,就可以了。

论坛徽章:
0
14 [报告]
发表于 2009-05-14 11:33 |只看该作者
呃,楼主给的例子是同一行,我还以为要同行显示…… - -

论坛徽章:
0
15 [报告]
发表于 2009-05-14 11:36 |只看该作者
不用分开保存就用3楼的,符合你的要求
我这样写适合单独保存,当然再处理一下也可以,不过显得走弯路了
假定6位文件为file1 7位文件为file2
sed 's/$/a/' file1|cat - file2|sort|xargs|sed 's/a//g'

论坛徽章:
0
16 [报告]
发表于 2009-05-14 11:38 |只看该作者

回复 #3 kwokcn 的帖子

呵呵,这个也可以,谢谢!

论坛徽章:
0
17 [报告]
发表于 2009-05-14 11:41 |只看该作者
如果楼主意思是六位的排前面,七位的排后面,都排序:


  1. awk -v RS="[ \n]" '{s=substr($0,1,6);a[s]=a[s]"\n7 "$0;b[s]++}END{for(i in a) if(b[i]==10) print "6 "i; else print a[i]}' URFILE | sort | sed '/^$/d;s/. //g'
复制代码

论坛徽章:
0
18 [报告]
发表于 2009-05-14 11:44 |只看该作者
谢谢,两位朋友kwokcn  ,li2002  !
li2002 的方法,分步执行,比较清晰明了。
kwokcn 方法直接了断。由于本人水平比较菜,不易理解。让你们见笑。
li2002的答案对我来说是最佳的。kwokcn兄弟没生气,

论坛徽章:
0
19 [报告]
发表于 2009-05-14 11:47 |只看该作者
不会,解决问题就好~:)

论坛徽章:
0
20 [报告]
发表于 2009-05-14 18:05 |只看该作者
过来学习学习。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP