LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 786|回复: 4

根据第二个域字符串修改第三个域的字符串?[基本解决]

[复制链接]
发表于 2004-6-14 17:24:26 | 显示全部楼层 |阅读模式
我要根据第二域数据,更改第三域的数据,例如,对于第二域为C19,则相应的第三域为ct3。并且其它部分的数据格式不能变,就是说原来的字符在第几列,修改后还是第几列。谢谢

修改前:

  1.    4  C19   [color=red]c3[/color]    M    3   2   1     1.540   111.208   180.000    -0.090
  2.    5  H     hc    E    4   3   2     1.115   164.626    82.418     0.033
  3.    6  H     hc    E    4   3   2     1.115    57.865   134.356     0.033
  4.    7  H     hc    E    4   3   2     1.115    61.905    12.270     0.032
复制代码


修改后

  1.    4  C19   [color=red]ct3[/color]   M    3   2   1     1.540   111.208   180.000    -0.090
  2.    5  H     hc    E    4   3   2     1.115   164.626    82.418     0.033
  3.    6  H     hc    E    4   3   2     1.115    57.865   134.356     0.033
  4.    7  H     hc    E    4   3   2     1.115    61.905    12.270     0.032
复制代码
发表于 2004-6-14 17:54:39 | 显示全部楼层
  1. awk '$2=="C19"{$3="ct3"}{print}'
复制代码
 楼主| 发表于 2004-6-14 19:08:35 | 显示全部楼层
谢谢,这样是替换了,但是空格都缩成一个了
发表于 2004-6-14 19:14:04 | 显示全部楼层
呵呵,需要再整理一下 ,要不直接用sed

  1. sed 's/\(C19 *\)c3/\1ct3/'
复制代码
 楼主| 发表于 2004-6-14 20:06:34 | 显示全部楼层
谢谢,这次可以了:)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表