免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
论坛 程序设计 Shell 归 类
12下一页
最近访问板块 发新帖
查看: 4086 | 回复: 19
打印 上一主题 下一主题

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

论坛徽章:
3
15-16赛季CBA联赛之八一
日期:2017-12-29 13:06:2315-16赛季CBA联赛之天津
日期:2018-08-08 17:39:4619周年集字徽章-年
日期:2019-12-25 22:50:31
跳转到指定楼层
1 [收藏(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

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



论坛徽章:
3
15-16赛季CBA联赛之八一
日期:2017-12-29 13:06:2315-16赛季CBA联赛之天津
日期:2018-08-08 17:39:4619周年集字徽章-年
日期:2019-12-25 22:50:31
2 [报告]
发表于 2017-09-26 23:26 |只看该作者
各位大侠,有看懂的吗

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

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

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期: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未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
3 [报告]
发表于 2017-09-26 23:46 |只看该作者

论坛徽章:
3
15-16赛季CBA联赛之八一
日期:2017-12-29 13:06:2315-16赛季CBA联赛之天津
日期:2018-08-08 17:39:4619周年集字徽章-年
日期:2019-12-25 22:50:31
4 [报告]
发表于 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
5 [报告]
发表于 2017-09-27 10:16 |只看该作者
完全看不懂需求

论坛徽章:
20
程序设计版块每日发帖之星
日期:2015-10-11 06:20:0015-16赛季CBA联赛之山东
日期:2016-05-28 18:18:5615-16赛季CBA联赛之新疆
日期:2017-04-12 22:55:4715-16赛季CBA联赛之青岛
日期:2017-06-26 18:30:0315-16赛季CBA联赛之四川
日期:2017-09-04 12:27:0315-16赛季CBA联赛之福建
日期:2018-02-09 14:28:3315-16赛季CBA联赛之同曦
日期:2018-04-17 12:43:3415-16赛季CBA联赛之浙江
日期:2018-07-14 13:27:4015-16赛季CBA联赛之吉林
日期:2018-09-13 15:48:2915-16赛季CBA联赛之新疆
日期:2016-05-07 05:05:3215-16赛季CBA联赛之八一
日期:2016-03-14 12:32:06程序设计版块每日发帖之星
日期:2015-12-12 06:20:00
6 [报告]
发表于 2017-09-27 10:20 |只看该作者
本帖最后由 baby_神 于 2017-09-27 10:24 编辑
  1. awk -F '[ |#_-]+' '{print $0 >> NF".txt"}' file
复制代码


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

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期: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未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
7 [报告]
发表于 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|

论坛徽章:
3
15-16赛季CBA联赛之八一
日期:2017-12-29 13:06:2315-16赛季CBA联赛之天津
日期:2018-08-08 17:39:4619周年集字徽章-年
日期:2019-12-25 22:50:31
8 [报告]
发表于 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列

论坛徽章:
3
15-16赛季CBA联赛之八一
日期:2017-12-29 13:06:2315-16赛季CBA联赛之天津
日期:2018-08-08 17:39:4619周年集字徽章-年
日期:2019-12-25 22:50:31
9 [报告]
发表于 2017-09-27 11:01 来自手机 |只看该作者
baby_神 发表于 2017-09-27 10:20
文件名不要用 ---4  这样命名   会有问题


可以用其命名

论坛徽章:
20
程序设计版块每日发帖之星
日期:2015-10-11 06:20:0015-16赛季CBA联赛之山东
日期:2016-05-28 18:18:5615-16赛季CBA联赛之新疆
日期:2017-04-12 22:55:4715-16赛季CBA联赛之青岛
日期:2017-06-26 18:30:0315-16赛季CBA联赛之四川
日期:2017-09-04 12:27:0315-16赛季CBA联赛之福建
日期:2018-02-09 14:28:3315-16赛季CBA联赛之同曦
日期:2018-04-17 12:43:3415-16赛季CBA联赛之浙江
日期:2018-07-14 13:27:4015-16赛季CBA联赛之吉林
日期:2018-09-13 15:48:2915-16赛季CBA联赛之新疆
日期:2016-05-07 05:05:3215-16赛季CBA联赛之八一
日期:2016-03-14 12:32:06程序设计版块每日发帖之星
日期:2015-12-12 06:20:00
10 [报告]
发表于 2017-09-27 11:05 |只看该作者
回复 9# aaaa_123

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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP