Chinaunix

标题: 分类问题 [打印本页]

作者: aaaa_123    时间: 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个文件...谢谢...

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












作者: Looiml    时间: 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
复制代码




作者: aaaa_123    时间: 2020-02-27 17:40
本帖最后由 aaaa_123 于 2020-02-27 17:41 编辑

回复 2# Looiml


Thanks Thanks    线条非常优美




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2