免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2081 | 回复: 2

[文本处理] 分类问题 [复制链接]

论坛徽章:
3
15-16赛季CBA联赛之八一
日期:2017-12-29 13:06:2315-16赛季CBA联赛之天津
日期:2018-08-08 17:39:4619周年集字徽章-年
日期:2019-12-25 22:50:31
发表于 2020-02-27 14:52 |显示全部楼层
本帖最后由 aaaa_123 于 2020-02-27 14:56 编辑

Hello,遇到一个分类问题...
a0
ac0
aw7
a@
0a
10cx
aja0
aaaa2
good141
aadaa9
aapaaa3
a
ae
0*
2
A
AD4
Ae6

问题来了
先test匹配其中一种条件试试[a-z]\d{1,}
需把开头字母个数 相同的各自放到一个文本去, 最好能区分大小写, 各个文件出来可以用开头字母个数命名

[a-z]\d{1,}
如果是按这种匹配条件, 那么在上面例子中出来文件应该是分类6个文件...谢谢...

为提高效率
程序工作时从开头遇到指定条件的行就归类到一个文本,这样不用再次从头力遍











论坛徽章:
0
发表于 2020-02-27 16:30 |显示全部楼层
本帖最后由 Looiml 于 2020-02-27 16:37 编辑

原数据:
  1. $ cat a.txt
  2. a0
  3. ac0
  4. aw7
  5. a@
  6. 0a
  7. 10cx
  8. aja0
  9. aaaa2
  10. good141
  11. aadaa9
  12. aapaaa3
  13. a
  14. ae
  15. 0*
  16. 2
  17. A
  18. AD4
  19. Ae6
复制代码

用awk:
  1. awk -F'[^a-zA-Z]+' '/^[a-zA-Z]+[0-9]+/{print>length($1)".txt"}' a.txt
复制代码

结果:
  1. $ grep -H '.*' {1..6}.txt
  2. 1.txt:a0
  3. 2.txt:ac0
  4. 2.txt:aw7
  5. 2.txt:AD4
  6. 2.txt:Ae6
  7. 3.txt:aja0
  8. 4.txt:aaaa2
  9. 4.txt:good141
  10. 5.txt:aadaa9
  11. 6.txt:aapaaa3
复制代码



评分

参与人数 1可用积分 +10 收起 理由
飘絮絮絮丶 + 10 赞一个!

查看全部评分

论坛徽章:
3
15-16赛季CBA联赛之八一
日期:2017-12-29 13:06:2315-16赛季CBA联赛之天津
日期:2018-08-08 17:39:4619周年集字徽章-年
日期:2019-12-25 22:50:31
发表于 2020-02-27 17:40 |显示全部楼层
本帖最后由 aaaa_123 于 2020-02-27 17:41 编辑

回复 2# Looiml


Thanks Thanks    线条非常优美
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP