免费注册 查看新帖 |

Chinaunix

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

[文本处理] 新手求教脚本问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-10-21 09:58 |只看该作者 |倒序浏览
本帖最后由 husong0811 于 2014-10-21 16:54 编辑

  1. REMARK  99                                                                     
  2. REMARK  99 MOE v2013.08 (Chemical Computing Group Inc.) Thu Sep 18 16:38:41 2014
  3. HETATM    1  C   <1>     0      36.477   2.216  13.201  1.00  0.00           C  
  4. HETATM    2  C1  <1>     0      36.077   0.948  12.746  1.00  0.00           C  
  5. HETATM    3  S   <1>     0      38.174   2.324  13.429  1.00  0.00           S  
  6. HETATM    4  C2  <1>     0      35.558   3.261  13.445  1.00  0.00           C  
  7. HETATM    5  C3  <1>     0      37.240   0.083  12.617  1.00  0.00           C  
  8. HETATM    6  C4  <1>     0      34.675   0.791  12.541  1.00  0.00           C  
  9. HETATM    7  C5  <1>     0      38.426   0.715  12.946  1.00  0.00           C  
  10. HETATM    8  C6  <1>     0      34.199   3.044  13.238  1.00  0.00           C  
  11. HETATM    9 Cl   <1>     0      37.159  -1.587  12.190  1.00  0.00          Cl  
  12. HETATM   10  C7  <1>     0      33.755   1.816  12.787  1.00  0.00           C  
  13. HETATM   11 Cl1  <1>     0      34.082  -0.710  11.965  1.00  0.00          Cl  
  14. HETATM   12  C8  <1>     0      39.779   0.209  13.005  1.00  0.00           C  
  15. HETATM   13  S1  <1>     0      40.344  -0.472  11.483  1.00  0.00           S  
  16. HETATM   14  O   <1>     0      40.492   0.241  14.001  1.00  0.00           O  
  17. HETATM   15  C9  <1>     0      41.323  -1.846  12.123  1.00  0.00           C  
  18. HETATM   16  C10 <1>     0      41.426  -2.888  11.045  1.00  0.00           C  
  19. HETATM   17  O1  <1>     0      40.536  -3.894  11.277  1.00  0.00           O  
  20. HETATM   18  O2  <1>     0      42.176  -2.811  10.081  1.00  0.00           O  
  21. HETATM   19  C11 <1>     0      40.421  -4.889  10.247  1.00  0.00           C  
  22. HETATM   20  C12 <1>     0      39.413  -4.422   9.218  1.00  0.00           C  
  23. HETATM   21  H   <1>     0      35.906   4.230  13.792  1.00  0.00           H  
  24. HETATM   22  H1  <1>     0      33.489   3.845  13.425  1.00  0.00           H  
  25. HETATM   23  H2  <1>     0      32.692   1.659  12.622  1.00  0.00           H  
  26. HETATM   24  H3  <1>     0      42.325  -1.503  12.393  1.00  0.00           H  
  27. HETATM   25  H4  <1>     0      40.865  -2.285  13.016  1.00  0.00           H  
  28. HETATM   26  H5  <1>     0      41.392  -5.104   9.786  1.00  0.00           H  
  29. HETATM   27  H6  <1>     0      40.078  -5.813  10.719  1.00  0.00           H  
  30. HETATM   28  H7  <1>     0      39.756  -3.506   8.727  1.00  0.00           H  
  31. HETATM   29  H8  <1>     0      38.458  -4.179   9.695  1.00  0.00           H  
  32. HETATM   30  H9  <1>     0      39.250  -5.190   8.459  1.00  0.00           H  
  33. CONECT    1    2    2    3    4
  34. CONECT    2    1    1    5    6
  35. CONECT    3    1    7
  36. CONECT    4    1   21    8    8
  37. CONECT    5    2    7    7    9
  38. CONECT    6    2   10   10   11
  39. CONECT    7    3    5    5   12
  40. CONECT    8    4    4   22   10
  41. CONECT    9    5
  42. CONECT   10    6    6    8   23
  43. CONECT   11    6
  44. CONECT   12    7   13   14   14
  45. CONECT   13   12   15
  46. CONECT   14   12   12
  47. CONECT   15   13   24   25   16
  48. CONECT   16   15   17   18   18
  49. CONECT   17   16   19
  50. CONECT   18   16   16
  51. CONECT   19   17   26   27   20
  52. CONECT   20   19   28   29   30
  53. CONECT   21    4
  54. CONECT   22    8
  55. CONECT   23   10
  56. CONECT   24   15
  57. CONECT   25   15
  58. CONECT   26   19
  59. CONECT   27   19
  60. CONECT   28   20
  61. CONECT   29   20
  62. CONECT   30   20
  63. END
复制代码



如图所示,有没有脚本可以更改原子编号,实现如下目标:,比如第1CC,第2CC1,第3个C是C2......;第1个O是O,第2个O是O1,第3个O是O2......依次类推并且要保持列数都不变,比如数字编号是在原子右边,但<1>所在的列不变
原始文件见附件



aa-51612432042.zip

972 Bytes, 下载次数: 4

论坛徽章:
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
2 [报告]
发表于 2014-10-21 10:02 |只看该作者
直接贴文本出来吧, 又是图片又是文件的.. {:3_186:}

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
3 [报告]
发表于 2014-10-21 10:03 |只看该作者
回复 1# husong0811


目测:
  1. awk 'a[$3]++{$3=$3 a[$3]-1}1' file
复制代码

论坛徽章:
24
申猴
日期:2014-10-10 15:56:39射手座
日期:2014-10-10 15:57:18黑曼巴
日期:2018-05-14 11:05:122016科比退役纪念章
日期:2018-05-14 11:05:0715-16赛季CBA联赛之北控
日期:2018-05-14 11:05:0015-16赛季CBA联赛之江苏
日期:2017-02-27 18:11:0715-16赛季CBA联赛之上海
日期:2018-08-15 09:48:5415-16赛季CBA联赛之佛山
日期:2018-07-20 17:14:2315-16赛季CBA联赛之佛山
日期:2019-09-10 18:08:4615-16赛季CBA联赛之山西
日期:2020-03-26 09:40:5115-16赛季CBA联赛之佛山
日期:2020-05-08 09:03:54
4 [报告]
发表于 2014-10-21 10:14 |只看该作者
本帖最后由 chengchow 于 2014-10-21 10:15 编辑

awk 'NR>2{$3=$3a[$3];a[$3]++}1' file
没测试

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
5 [报告]
发表于 2014-10-21 10:16 |只看该作者
尼玛,这是神马文件啊,我还以为是文本~{:3_183:}

论坛徽章:
0
6 [报告]
发表于 2014-10-21 11:05 |只看该作者
回复 5# yestreenstars


   用文本文档打开就行了:wink:

论坛徽章:
0
7 [报告]
发表于 2014-10-21 11:06 |只看该作者
回复 3# ly5066113


   试了下,整个文档都打乱了,可能是我没说清楚,我又重新编辑了一下帖子

论坛徽章:
8
戌狗
日期:2014-09-26 16:39:44水瓶座
日期:2014-10-10 02:06:57金牛座
日期:2014-10-11 23:04:042015亚冠之首尔
日期:2015-06-23 15:37:0015-16赛季CBA联赛之天津
日期:2016-01-22 18:58:2915-16赛季CBA联赛之佛山
日期:2016-05-31 19:18:0815-16赛季CBA联赛之同曦
日期:2016-08-10 16:26:3315-16赛季CBA联赛之辽宁
日期:2018-01-10 11:47:40
8 [报告]
发表于 2014-10-21 11:20 |只看该作者
貌似是这样吧
  1. awk  '/^HETATM/{a[$3]++;if(a[$3]>=2){$3=$3(a[$3]-1)}else{$3=$3}}1'  aa-51612432042.TXT
  2. REMARK  99                                                                     
  3. REMARK  99 MOE v2013.08 (Chemical Computing Group Inc.) Thu Sep 18 16:38:41 2014
  4. HETATM 1 C <1> 0 36.477 2.216 13.201 1.00 0.00 C
  5. HETATM 2 C1 <1> 0 36.077 0.948 12.746 1.00 0.00 C
  6. HETATM 3 S <1> 0 38.174 2.324 13.429 1.00 0.00 S
  7. HETATM 4 C2 <1> 0 35.558 3.261 13.445 1.00 0.00 C
  8. HETATM 5 C3 <1> 0 37.240 0.083 12.617 1.00 0.00 C
  9. HETATM 6 C4 <1> 0 34.675 0.791 12.541 1.00 0.00 C
  10. HETATM 7 C5 <1> 0 38.426 0.715 12.946 1.00 0.00 C
  11. HETATM 8 C6 <1> 0 34.199 3.044 13.238 1.00 0.00 C
  12. HETATM 9 CL <1> 0 37.159 -1.587 12.190 1.00 0.00 CL
  13. HETATM 10 C7 <1> 0 33.755 1.816 12.787 1.00 0.00 C
  14. HETATM 11 CL1 <1> 0 34.082 -0.710 11.965 1.00 0.00 CL
  15. HETATM 12 C8 <1> 0 39.779 0.209 13.005 1.00 0.00 C
  16. HETATM 13 S1 <1> 0 40.344 -0.472 11.483 1.00 0.00 S
  17. HETATM 14 O <1> 0 40.492 0.241 14.001 1.00 0.00 O
  18. HETATM 15 C9 <1> 0 41.323 -1.846 12.123 1.00 0.00 C
  19. HETATM 16 C10 <1> 0 41.426 -2.888 11.045 1.00 0.00 C
  20. HETATM 17 O1 <1> 0 40.536 -3.894 11.277 1.00 0.00 O
  21. HETATM 18 O2 <1> 0 42.176 -2.811 10.081 1.00 0.00 O
  22. HETATM 19 C11 <1> 0 40.421 -4.889 10.247 1.00 0.00 C
  23. HETATM 20 C12 <1> 0 39.413 -4.422 9.218 1.00 0.00 C
  24. HETATM 21 H <1> 0 35.906 4.230 13.792 1.00 0.00 H
  25. HETATM 22 H1 <1> 0 33.489 3.845 13.425 1.00 0.00 H
  26. HETATM 23 H2 <1> 0 32.692 1.659 12.622 1.00 0.00 H
  27. HETATM 24 H1 <1> 0 42.325 -1.503 12.393 1.00 0.00 H
  28. HETATM 25 H2 <1> 0 40.865 -2.285 13.016 1.00 0.00 H
  29. HETATM 26 H11 <1> 0 41.392 -5.104 9.786 1.00 0.00 H
  30. HETATM 27 H21 <1> 0 40.078 -5.813 10.719 1.00 0.00 H
  31. HETATM 28 H12 <1> 0 39.756 -3.506 8.727 1.00 0.00 H
  32. HETATM 29 H22 <1> 0 38.458 -4.179 9.695 1.00 0.00 H
  33. HETATM 30 H3 <1> 0 39.250 -5.190 8.459 1.00 0.00 H
  34. CONECT    1    2    2    3    4
  35. CONECT    2    1    1    5    6
  36. CONECT    3    1    7
  37. CONECT    4    1   21    8    8
  38. CONECT    5    2    7    7    9
  39. CONECT    6    2   10   10   11
  40. CONECT    7    3    5    5   12
  41. CONECT    8    4    4   22   10
  42. CONECT    9    5
  43. CONECT   10    6    6    8   23
  44. CONECT   11    6
  45. CONECT   12    7   13   14   14
  46. CONECT   13   12   15
  47. CONECT   14   12   12
  48. CONECT   15   13   24   25   16
  49. CONECT   16   15   17   18   18
  50. CONECT   17   16   19
  51. CONECT   18   16   16
  52. CONECT   19   17   26   27   20
  53. CONECT   20   19   28   29   30
  54. CONECT   21    4
  55. CONECT   22    8
  56. CONECT   23   10
  57. CONECT   24   15
  58. CONECT   25   15
  59. CONECT   26   19
  60. CONECT   27   19
  61. CONECT   28   20
  62. CONECT   29   20
  63. CONECT   30   20
  64. END
复制代码

论坛徽章:
2
摩羯座
日期:2014-11-03 15:28:56卯兔
日期:2015-01-04 17:20:51
9 [报告]
发表于 2014-10-21 14:24 |只看该作者
回复 4# chengchow


    这写法第一个新$3后面会多一个0
  1. echo {a..f}|awk '{$3=$3a[$3]++}1'
  2. a b c0 d e f
复制代码

论坛徽章:
2
处女座
日期:2014-10-24 11:12:372015年辞旧岁徽章
日期:2015-03-03 16:54:15
10 [报告]
发表于 2014-10-21 14:32 |只看该作者
wiliiwin 发表于 2014-10-21 11:20
貌似是这样吧
一样的理解。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP