忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT HPC论坛 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
论坛 程序设计 Shell 归 类
12下一页
最近访问板块 发新帖
查看: 2500 | 回复: 19

[文本处理] 归 类 [复制链接]

论坛徽章:
0
发表于 2017-09-26 18:54 |显示全部楼层
本帖最后由 aaaa_123 于 2017-09-26 18:58 编辑

Hi...
各位大伽好

找出相同的分隔符及相同列数 然后各自归类存放

例如: 找到以----分隔符的行 而且列数相等的将放在一个文本中 不允许存放不相同列数在同一个文件  例如 不要将2列3列4列5列放在一个文本内  需分开存放

      找到以 | 分隔符的行 而且列数相同的将放在一个文本中 不允许存放不相同列数在同一个文件  例如 不要将2列3列4列5列放在一个文本内  需分开存放

分出每一种分隔符 及每一种分隔符不同列数

然后所有分隔符的归类工作 如些类推做下去  

给出分隔符有6种  [ 空隔 ---- | # ---  _ ]   目前理想是能够一次性就能把要求完成 各自归类存放

下面
简单示例

456456----4646----46----4565
543----3----3----4
44----333

上面这种分隔符因有不相同列数 只有相同列数才可以放在一起  不相同列数有多少分多少放


下面的这些也是这样要求  谢谢了
456456 4646 46 4565
44 234 34 24
24 234

4564564|464646|6456456|456|
5546|46|46|456|
546|55|5
45|4|4

4#44#555
4#43#4

4rr_3_rr_r
6_4_4_7_2

24---234---3432---432---3
34---3---32
4---3---23

总结上面所说的意思是  将不同 分隔符归类   列数归类



论坛徽章:
0
发表于 2017-09-26 23:26 |显示全部楼层
各位大侠,有看懂的吗

是不是觉得不好写,可以妥协一下,

也可以只写一种分隔符处理过程

论坛徽章:
121
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07巳蛇
日期:2014-05-09 16:43:18巨蟹座
日期:2014-10-23 17:48:38子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59
发表于 2017-09-26 23:46 |显示全部楼层

论坛徽章:
0
发表于 2017-09-27 09:30 |显示全部楼层
本帖最后由 aaaa_123 于 2017-09-27 09:32 编辑

大侠的连接是否说要把问题说明白点
好的,我举一个分隔符例子说

456456----4646----46----4565 这行有4列
543----3----3----4 这行有4列
44----333 这行2列

12 这行只有1列

将上面相同列数放在一个文本中  出来后文件名称按列命名

上面内容归类了3份文件
456456----4646----46----4565 这行有4列
543----3----3----4 这行有4列

这份归4列  出来后文件名按分隔符及列数命名,文件名为:---4列,文件名如此类推命名

44----333
这份归2列 出来文件名为---2列

12
这份归1列 出来文件名为----1列

大侠 这样说能明白了么

然后所有分隔符归类都如此类推下去

论坛徽章:
3
15-16赛季CBA联赛之北控
日期:2016-06-06 21:01:08程序设计版块每日发帖之星
日期:2016-06-19 06:20:00程序设计版块每日发帖之星
日期:2016-07-17 06:20:00
发表于 2017-09-27 10:16 |显示全部楼层
完全看不懂需求

论坛徽章:
15
程序设计版块每日发帖之星
日期:2015-10-11 06:20:0015-16赛季CBA联赛之青岛
日期:2017-06-26 18:30:0315-16赛季CBA联赛之新疆
日期:2017-04-12 22:55:4715-16赛季CBA联赛之山东
日期:2016-05-28 18:18:5615-16赛季CBA联赛之新疆
日期:2016-05-07 05:05:3215-16赛季CBA联赛之八一
日期:2016-03-14 12:32:06IT运维版块每日发帖之星
日期:2016-02-27 06:20:0015-16赛季CBA联赛之深圳
日期:2016-01-31 10:37:3615-16赛季CBA联赛之同曦
日期:2016-01-24 17:51:44狮子座
日期:2016-01-11 11:25:34酉鸡
日期:2016-01-11 11:24:2415-16赛季CBA联赛之北控
日期:2016-01-02 13:16:52
发表于 2017-09-27 10:20 |显示全部楼层
本帖最后由 baby_神 于 2017-09-27 10:24 编辑
  1. awk -F '[ |#_-]+' '{print $0 >> NF".txt"}' file
复制代码


文件名不要用 ---4  这样命名   会有问题

论坛徽章:
121
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07巳蛇
日期:2014-05-09 16:43:18巨蟹座
日期:2014-10-23 17:48:38子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59
发表于 2017-09-27 10:24 |显示全部楼层
回复 4# aaaa_123

1. 1列 没 分隔符 无法 归类

12 这行只有1列

2. 归类 在几列?
$ cat FILE
546|55|5
546|55|5|
45|4|4
45|4|4|

$ awk -F'[|]' '{print NF, $0}' FILE
3 546|55|5
4 546|55|5|
3 45|4|4
4 45|4|4|

论坛徽章:
0
发表于 2017-09-27 10:58 来自手机 |显示全部楼层
本帖最后由 aaaa_123 于 2017-09-27 11:00 编辑

7# jason680

2.  У
$ cat FILE
546|55|5
546|55|5|
45|4|4
45|4|4|

这样情况归3列

$ awk -F'[|]' '{print NF, $0}' FILE
3 546|55|5
4 546|55|5|
3 45|4|4
4 45|4|4|

这样情况也是归3列

论坛徽章:
0
发表于 2017-09-27 11:01 来自手机 |显示全部楼层
baby_神 发表于 2017-09-27 10:20
文件名不要用 ---4  这样命名   会有问题


可以用其命名

论坛徽章:
15
程序设计版块每日发帖之星
日期:2015-10-11 06:20:0015-16赛季CBA联赛之青岛
日期:2017-06-26 18:30:0315-16赛季CBA联赛之新疆
日期:2017-04-12 22:55:4715-16赛季CBA联赛之山东
日期:2016-05-28 18:18:5615-16赛季CBA联赛之新疆
日期:2016-05-07 05:05:3215-16赛季CBA联赛之八一
日期:2016-03-14 12:32:06IT运维版块每日发帖之星
日期:2016-02-27 06:20:0015-16赛季CBA联赛之深圳
日期:2016-01-31 10:37:3615-16赛季CBA联赛之同曦
日期:2016-01-24 17:51:44狮子座
日期:2016-01-11 11:25:34酉鸡
日期:2016-01-11 11:24:2415-16赛季CBA联赛之北控
日期:2016-01-02 13:16:52
发表于 2017-09-27 11:05 |显示全部楼层
回复 9# aaaa_123

可以是可以,但是尽量别用,别闯红灯
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP