免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 4963 | 回复: 24
打印 上一主题 下一主题

[文本处理] 请问如何只保留文本的最后几列? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-02-01 16:13 |只看该作者 |倒序浏览
文本如下:


   1 1   H  1S        0.12362   0.12581  -0.09377   0.09203  -0.03316
   2        2S          0.19479   0.19871  -0.15313   0.12558  -0.45052
   3        3S          0.12349   0.12910  -0.84693   0.98627   0.61902
   4        4PX        0.00657   0.00655   0.00801  -0.00849  -0.00424
   5        4PY       -0.00027  -0.00027  -0.00033   0.00035   0.00017
   6        4PZ        0.00000   0.00000   0.00000   0.00000   0.00000
   7        5PX        0.01044   0.01025   0.00669  -0.01773  -0.02722
   8        5PY       -0.00042  -0.00042  -0.00027   0.00072   0.00111
   9        5PZ        0.00000   0.00000   0.00000   0.00000   0.00000
  10 2   H  1S       0.12464   0.12500   0.07943  -0.10819  -0.06958
  11        2S          0.19617   0.19715   0.09823  -0.22289  -0.59574
  12        3S          0.12894   0.12510   0.87973  -0.90687   0.53681
  13        4PX       -0.00652  -0.00663   0.00750  -0.00883   0.00243
  14        4PY        0.00027   0.00027  -0.00030   0.00036  -0.00010
  15        4PZ        0.00000   0.00000   0.00000   0.00000   0.00000
  16        5PX       -0.00875  -0.01064   0.02111  -0.00272   0.01951
  17        5PY        0.00036   0.00043  -0.00086   0.00011  -0.00079
  18        5PZ        0.00000   0.00000   0.00000   0.00000   0.00000


请问如何只保留最后5列数字呢??


因为第一行和第十行的列数比其他行多的缘故,用awk print 相应的列数得到的输出不够干净。

论坛徽章:
769
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
2 [报告]
发表于 2016-02-01 16:17 |只看该作者
本帖最后由 Herowinter 于 2016-02-01 16:19 编辑

回复 1# 常思OL

  1. awk 'NF>4{print $(NF-4),$(NF-3),$(NF-2),$(NF-1),$NF}' i
  2. 0.12362 0.12581 -0.09377 0.09203 -0.03316
  3. 0.19479 0.19871 -0.15313 0.12558 -0.45052
  4. 0.12349 0.12910 -0.84693 0.98627 0.61902
  5. 0.00657 0.00655 0.00801 -0.00849 -0.00424
  6. -0.00027 -0.00027 -0.00033 0.00035 0.00017
  7. 0.00000 0.00000 0.00000 0.00000 0.00000
  8. 0.01044 0.01025 0.00669 -0.01773 -0.02722
  9. -0.00042 -0.00042 -0.00027 0.00072 0.00111
  10. 0.00000 0.00000 0.00000 0.00000 0.00000
  11. 0.12464 0.12500 0.07943 -0.10819 -0.06958
  12. 0.19617 0.19715 0.09823 -0.22289 -0.59574
  13. 0.12894 0.12510 0.87973 -0.90687 0.53681
  14. -0.00652 -0.00663 0.00750 -0.00883 0.00243
  15. 0.00027 0.00027 -0.00030 0.00036 -0.00010
  16. 0.00000 0.00000 0.00000 0.00000 0.00000
  17. -0.00875 -0.01064 0.02111 -0.00272 0.01951
  18. 0.00036 0.00043 -0.00086 0.00011 -0.00079
  19. 0.00000 0.00000 0.00000 0.00000 0.00000
复制代码

论坛徽章:
12
程序设计版块每日发帖之星
日期:2016-01-28 06:20:00程序设计版块每周发帖之星
日期:2016-03-07 16:29:28程序设计版块每日发帖之星
日期:2016-02-04 06:20:00程序设计版块每日发帖之星
日期:2016-02-02 06:20:00每周论坛发贴之星
日期:2016-01-31 22:22:00程序设计版块每日发帖之星
日期:2016-02-01 06:20:00程序设计版块每日发帖之星
日期:2016-01-31 06:20:00每日论坛发贴之星
日期:2016-01-30 06:20:00程序设计版块每日发帖之星
日期:2016-01-30 06:20:00每日论坛发贴之星
日期:2016-01-29 06:20:00程序设计版块每日发帖之星
日期:2016-01-29 06:20:0015-16赛季CBA联赛之福建
日期:2016-04-06 14:19:05
3 [报告]
发表于 2016-02-01 16:28 |只看该作者
  1. awk '{for(i=NF-4;i<=NF;i++)printf $i""FS;print""}' file
复制代码

论坛徽章:
0
4 [报告]
发表于 2016-02-01 16:46 |只看该作者
谢谢回复。不过还是有一些问题。我把完整地文件附上吧。


   1 1   H  1S          0.10733   0.00000   0.00000   0.00000   0.00000
   2        2S         -0.30385   0.00000   0.00000   0.00000   0.00000
   3        3S          0.19654   0.00000   0.00000   0.00000   0.00000
   4        4PX        -0.57634   0.02458   0.00000   0.02471   0.00000
   5        4PY         0.02344   0.60435   0.00000   0.60759   0.00000
   6        4PZ         0.00000   0.00000   0.60485   0.00000   0.60809
   7        5PX         0.37989  -0.01179   0.00000  -0.01186   0.00000
   8        5PY        -0.01545  -0.28973   0.00000  -0.29149   0.00000
   9        5PZ         0.00000   0.00000  -0.28997   0.00000  -0.29173
  10 2   H  1S          0.00090   0.00000   0.00000   0.00000   0.00000
  11        2S          0.00885   0.00000   0.00000   0.00000   0.00000
  12        3S         -0.11075   0.00000   0.00000   0.00000   0.00000
  13        4PX         0.58480   0.02473   0.00000   0.02460   0.00000
  14        4PY        -0.02379   0.60790   0.00000   0.60480   0.00000
  15        4PZ         0.00000   0.00000   0.60840   0.00000   0.60529
  16        5PX        -0.43790  -0.01186   0.00000  -0.01181   0.00000
  17        5PY         0.01781  -0.29148   0.00000  -0.29018   0.00000
  18        5PZ         0.00000   0.00000  -0.29172   0.00000  -0.29042
  19 3   H  1S         -0.00090   0.00000   0.00000   0.00000   0.00000
  20        2S         -0.00885   0.00000   0.00000   0.00000   0.00000
  21        3S          0.11075   0.00000   0.00000   0.00000   0.00000
  22        4PX         0.58480   0.02473   0.00000  -0.02460   0.00000
  23        4PY        -0.02379   0.60790   0.00000  -0.60480   0.00000
  24        4PZ         0.00000   0.00000   0.60840   0.00000  -0.60529
  25        5PX        -0.43790  -0.01186   0.00000   0.01181   0.00000
  26        5PY         0.01781  -0.29148   0.00000   0.29018   0.00000
  27        5PZ         0.00000   0.00000  -0.29172   0.00000   0.29042
  28 4   H  1S         -0.10733   0.00000   0.00000   0.00000   0.00000
  29        2S          0.30385   0.00000   0.00000   0.00000   0.00000
  30        3S         -0.19654   0.00000   0.00000   0.00000   0.00000
  31        4PX        -0.57634   0.02458   0.00000  -0.02471   0.00000
  32        4PY         0.02344   0.60435   0.00000  -0.60759   0.00000
  33        4PZ         0.00000   0.00000   0.60485   0.00000  -0.60809
  34        5PX         0.37989  -0.01179   0.00000   0.01186   0.00000
  35        5PY        -0.01545  -0.28973   0.00000   0.29149   0.00000
  36        5PZ         0.00000   0.00000  -0.28997   0.00000   0.29173
   1 1   H  1S          0.00000   0.00000   0.00000   0.00000  -0.06141
   2        2S          0.00000   0.00000   0.00000   0.00000   0.48907
   3        3S          0.00000   0.00000   0.00000   0.00000   0.36175
   4        4PX         0.02540   0.00000  -0.02527   0.00000  -0.71137
   5        4PY         0.62432   0.00000  -0.62119   0.00000   0.02894
   6        4PZ         0.00000   0.62484   0.00000  -0.62171   0.00000
   7        5PX        -0.01763   0.00000   0.01760   0.00000   0.71630
   8        5PY        -0.43334   0.00000   0.43256   0.00000  -0.02914
   9        5PZ         0.00000  -0.43370   0.00000   0.43292   0.00000
  10 2   H  1S          0.00000   0.00000   0.00000   0.00000   0.05104
  11        2S          0.00000   0.00000   0.00000   0.00000  -0.47478
  12        3S          0.00000   0.00000   0.00000   0.00000  -0.38641
  13        4PX        -0.02525   0.00000   0.02539   0.00000  -0.69041
  14        4PY        -0.62064   0.00000   0.62413   0.00000   0.02808
  15        4PZ         0.00000  -0.62116   0.00000   0.62464   0.00000
  16        5PX         0.01755   0.00000  -0.01766   0.00000   0.68935
  17        5PY         0.43128   0.00000  -0.43422   0.00000  -0.02804
  18        5PZ         0.00000   0.43164   0.00000  -0.43458   0.00000
  19 3   H  1S          0.00000   0.00000   0.00000   0.00000  -0.05104
  20        2S          0.00000   0.00000   0.00000   0.00000   0.47478
  21        3S          0.00000   0.00000   0.00000   0.00000   0.38641
  22        4PX        -0.02525   0.00000  -0.02539   0.00000  -0.69041
  23        4PY        -0.62064   0.00000  -0.62413   0.00000   0.02808
  24        4PZ         0.00000  -0.62116   0.00000  -0.62464   0.00000
  25        5PX         0.01755   0.00000   0.01766   0.00000   0.68935
  26        5PY         0.43128   0.00000   0.43422   0.00000  -0.02804
  27        5PZ         0.00000   0.43164   0.00000   0.43458   0.00000
  28 4   H  1S          0.00000   0.00000   0.00000   0.00000   0.06141
  29        2S          0.00000   0.00000   0.00000   0.00000  -0.48907
  30        3S          0.00000   0.00000   0.00000   0.00000  -0.36175
  31        4PX         0.02540   0.00000   0.02527   0.00000  -0.71137
  32        4PY         0.62432   0.00000   0.62119   0.00000   0.02894
  33        4PZ         0.00000   0.62484   0.00000   0.62170   0.00000
  34        5PX        -0.01763   0.00000  -0.01760   0.00000   0.71630
  35        5PY        -0.43334   0.00000  -0.43256   0.00000  -0.02914
  36        5PZ         0.00000  -0.43370   0.00000  -0.43292   0.00000
   1 1   H  1S         -0.05885
   2        2S          0.52777
   3        3S          0.32554
   4        4PX        -0.69562
   5        4PY         0.02830
   6        4PZ         0.00000
   7        5PX         0.72063
   8        5PY        -0.02931
   9        5PZ         0.00000
  10 2   H  1S          0.05761
  11        2S         -0.52087
  12        3S         -0.31930
  13        4PX        -0.71018
  14        4PY         0.02889
  15        4PZ         0.00000
  16        5PX         0.74139
  17        5PY        -0.03016
  18        5PZ         0.00000
  19 3   H  1S          0.05761
  20        2S         -0.52087
  21        3S         -0.31930
  22        4PX         0.71018
  23        4PY        -0.02889
  24        4PZ         0.00000
  25        5PX        -0.74139
  26        5PY         0.03016
  27        5PZ         0.00000
  28 4   H  1S         -0.05885
  29        2S          0.52777
  30        3S          0.32554
  31        4PX         0.69562
  32        4PY        -0.02830
  33        4PZ         0.00000
  34        5PX        -0.72063
  35        5PY         0.02931
  36        5PZ         0.00000



需要实现的格式为:
1. 仅保留最后5列数字
2.将每隔36行的数字挪到上36行数字的右边,成为新的列。即最后的数据成为一个36行11列的矩阵。

各位大神有没有好的idea可以实现呢??

论坛徽章:
60
20周年集字徽章-20	
日期:2020-10-28 14:04:3015-16赛季CBA联赛之北京
日期:2016-07-06 15:42:0715-16赛季CBA联赛之同曦
日期:2016-06-12 10:38:0915-16赛季CBA联赛之佛山
日期:2016-05-27 11:54:56黄金圣斗士
日期:2015-12-02 11:44:35白银圣斗士
日期:2015-11-25 14:32:43白银圣斗士
日期:2015-11-23 12:53:352015亚冠之布里斯班狮吼
日期:2015-10-21 16:55:482015亚冠之首尔
日期:2015-09-01 16:46:052015亚冠之德黑兰石油
日期:2015-08-31 11:39:192015亚冠之萨济拖拉机
日期:2015-08-28 21:06:5315-16赛季CBA联赛之广东
日期:2016-07-12 14:58:53
5 [报告]
发表于 2016-02-01 17:45 |只看该作者
看不懂描述

论坛徽章:
12
程序设计版块每日发帖之星
日期:2016-01-28 06:20:00程序设计版块每周发帖之星
日期:2016-03-07 16:29:28程序设计版块每日发帖之星
日期:2016-02-04 06:20:00程序设计版块每日发帖之星
日期:2016-02-02 06:20:00每周论坛发贴之星
日期:2016-01-31 22:22:00程序设计版块每日发帖之星
日期:2016-02-01 06:20:00程序设计版块每日发帖之星
日期:2016-01-31 06:20:00每日论坛发贴之星
日期:2016-01-30 06:20:00程序设计版块每日发帖之星
日期:2016-01-30 06:20:00每日论坛发贴之星
日期:2016-01-29 06:20:00程序设计版块每日发帖之星
日期:2016-01-29 06:20:0015-16赛季CBA联赛之福建
日期:2016-04-06 14:19:05
6 [报告]
发表于 2016-02-01 17:52 |只看该作者
回复 5# reyleon


    他的意思简单来说就是每36行的数据归类到一起    就是前面序号是1的 后面五列数据归类到一行  因为36行好像重复了3次   所以就5列数据+5列数据+1列数据=11列。。。

论坛徽章:
0
7 [报告]
发表于 2016-02-01 17:59 |只看该作者
是的,大神,请问这个在Linux下如何做到呢? 回复 6# ydzcjj


   

论坛徽章:
0
8 [报告]
发表于 2016-02-01 18:02 |只看该作者
简单讲,就是将行首序号相同的行,重新归为一行,并且只保留数字项。搜索了很久,没有查到linux如何实现这个功能

论坛徽章:
60
20周年集字徽章-20	
日期:2020-10-28 14:04:3015-16赛季CBA联赛之北京
日期:2016-07-06 15:42:0715-16赛季CBA联赛之同曦
日期:2016-06-12 10:38:0915-16赛季CBA联赛之佛山
日期:2016-05-27 11:54:56黄金圣斗士
日期:2015-12-02 11:44:35白银圣斗士
日期:2015-11-25 14:32:43白银圣斗士
日期:2015-11-23 12:53:352015亚冠之布里斯班狮吼
日期:2015-10-21 16:55:482015亚冠之首尔
日期:2015-09-01 16:46:052015亚冠之德黑兰石油
日期:2015-08-31 11:39:192015亚冠之萨济拖拉机
日期:2015-08-28 21:06:5315-16赛季CBA联赛之广东
日期:2016-07-12 14:58:53
9 [报告]
发表于 2016-02-01 19:44 |只看该作者
回复 8# 常思OL
  1. $ awk '{for(i=1;i<=NF;i++)if($i~/[0-9]\.[0-9]/)a[$1]=a[$1]" "$i}END{for(i in a)print i""a[i]}' file | column.exe -t
  2. 1   0.10733   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   -0.06141  -0.05885
  3. 2   -0.30385  0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.48907   0.52777
  4. 3   0.19654   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.36175   0.32554
  5. 4   -0.57634  0.02458   0.00000   0.02471   0.00000   0.02540   0.00000   -0.02527  0.00000   -0.71137  -0.69562
  6. 5   0.02344   0.60435   0.00000   0.60759   0.00000   0.62432   0.00000   -0.62119  0.00000   0.02894   0.02830
  7. 6   0.00000   0.00000   0.60485   0.00000   0.60809   0.00000   0.62484   0.00000   -0.62171  0.00000   0.00000
  8. 7   0.37989   -0.01179  0.00000   -0.01186  0.00000   -0.01763  0.00000   0.01760   0.00000   0.71630   0.72063
  9. 8   -0.01545  -0.28973  0.00000   -0.29149  0.00000   -0.43334  0.00000   0.43256   0.00000   -0.02914  -0.02931
  10. 9   0.00000   0.00000   -0.28997  0.00000   -0.29173  0.00000   -0.43370  0.00000   0.43292   0.00000   0.00000
  11. 10  0.00090   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.05104   0.05761
  12. 11  0.00885   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   -0.47478  -0.52087
  13. 12  -0.11075  0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   -0.38641  -0.31930
  14. 13  0.58480   0.02473   0.00000   0.02460   0.00000   -0.02525  0.00000   0.02539   0.00000   -0.69041  -0.71018
  15. 14  -0.02379  0.60790   0.00000   0.60480   0.00000   -0.62064  0.00000   0.62413   0.00000   0.02808   0.02889
  16. 15  0.00000   0.00000   0.60840   0.00000   0.60529   0.00000   -0.62116  0.00000   0.62464   0.00000   0.00000
  17. 16  -0.43790  -0.01186  0.00000   -0.01181  0.00000   0.01755   0.00000   -0.01766  0.00000   0.68935   0.74139
  18. 17  0.01781   -0.29148  0.00000   -0.29018  0.00000   0.43128   0.00000   -0.43422  0.00000   -0.02804  -0.03016
  19. 18  0.00000   0.00000   -0.29172  0.00000   -0.29042  0.00000   0.43164   0.00000   -0.43458  0.00000   0.00000
  20. 19  -0.00090  0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   -0.05104  0.05761
  21. 20  -0.00885  0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.47478   -0.52087
  22. 21  0.11075   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.38641   -0.31930
  23. 22  0.58480   0.02473   0.00000   -0.02460  0.00000   -0.02525  0.00000   -0.02539  0.00000   -0.69041  0.71018
  24. 23  -0.02379  0.60790   0.00000   -0.60480  0.00000   -0.62064  0.00000   -0.62413  0.00000   0.02808   -0.02889
  25. 24  0.00000   0.00000   0.60840   0.00000   -0.60529  0.00000   -0.62116  0.00000   -0.62464  0.00000   0.00000
  26. 25  -0.43790  -0.01186  0.00000   0.01181   0.00000   0.01755   0.00000   0.01766   0.00000   0.68935   -0.74139
  27. 26  0.01781   -0.29148  0.00000   0.29018   0.00000   0.43128   0.00000   0.43422   0.00000   -0.02804  0.03016
  28. 27  0.00000   0.00000   -0.29172  0.00000   0.29042   0.00000   0.43164   0.00000   0.43458   0.00000   0.00000
  29. 28  -0.10733  0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.06141   -0.05885
  30. 29  0.30385   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   -0.48907  0.52777
  31. 30  -0.19654  0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   0.00000   -0.36175  0.32554
  32. 31  -0.57634  0.02458   0.00000   -0.02471  0.00000   0.02540   0.00000   0.02527   0.00000   -0.71137  0.69562
  33. 32  0.02344   0.60435   0.00000   -0.60759  0.00000   0.62432   0.00000   0.62119   0.00000   0.02894   -0.02830
  34. 33  0.00000   0.00000   0.60485   0.00000   -0.60809  0.00000   0.62484   0.00000   0.62170   0.00000   0.00000
  35. 34  0.37989   -0.01179  0.00000   0.01186   0.00000   -0.01763  0.00000   -0.01760  0.00000   0.71630   -0.72063
  36. 35  -0.01545  -0.28973  0.00000   0.29149   0.00000   -0.43334  0.00000   -0.43256  0.00000   -0.02914  0.02931
  37. 36  0.00000   0.00000   -0.28997  0.00000   0.29173   0.00000   -0.43370  0.00000   -0.43292  0.00000   0.00000
复制代码
这样???


论坛徽章:
0
10 [报告]
发表于 2016-02-01 21:20 |只看该作者
谢谢大神。


效果应该是这样没错

我想问下最后那个column.exe是什么??


回复 9# reyleon


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP