24小时热门版块排行榜    

Znn3bq.jpeg
查看: 659  |  回复: 2

meatball1982

铜虫 (小有名气)

[求助] 用awk修改原子序号

8:58 2013/5/20
我希望将各种原子类型的序号由1,2,3,...23.变成371,372,373,...,393。

1.要求用awk实现。
2.在polarize部分,原子的关联关系可能有很多。
3.程序要有相关的注释。


比如这一部分:

atom          1    1    C      "ser644              "     6     12.011    4

atom          2    2    N      "ser644              "     7     14.007    3
……
atom         23   23    H      "ser644              "     1      1.008    1

变成:

atom        371  371    C      "ser644              "     6     12.011    4

atom        372  372    N      "ser644              "     7     14.007    3
……
atom        393  393    H      "ser644              "     1      1.008    1


这一部分:

multipole     1   19    6             -5.25040

                                      -1.38471    0.00000    1.50161

                                       0.17141

                                       0.00000   -2.96582

                                       0.70579    0.00000    2.79441


变成:
multipole   371  389  376             -5.25040

                                      -1.38471    0.00000    1.50161

                                       0.17141

                                       0.00000   -2.96582

                                       0.70579    0.00000    2.79441


这一部分:
polarize      1               1.334      0.390       6   11

polarize      2               1.073      0.390       3   10

变成:
polarize    371               1.334      0.390     376  381

polarize    372               1.073      0.390     373  380
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : orig.key
  • 2013-05-20 09:07:39, 9.54 K

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

唉。还是学吧。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zeppe

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
meatball1982: 金币+30, ★★★很有帮助, 就是这个。 2013-05-20 18:49:22
以下存为test.awk,使用时用命令
awk -f test.awk orig.key > targetfilename
CODE:
BEGIN{
#默认分隔符为空格,这里不需要改动.
}
{
#当第一列为atom
if(match($1,"atom"))
{
#按orig.key格式输出
printf("%s        %d  %d    %s      %s              %s     %s     %6.3f    %s\n",$1,$2+370,$3+370,$4,$5,$6,$7,$8,$9);
}
#当第一列为multipole
else if(match($1,"multipole"))
{
#按orig.key格式输出
printf("%s   %d  %d  %d             %8.5f\n",$1,$2+370,$3+370,$4+370,$5); #按orig.key格式输出
}
#当第一列为polarize
else if(match($1,"polarize"))   
{
printf("%s    %d               %s      %s   ",$1,$2+370,$3,$4);
#可能有多个要改的列
if(NF>4){
for(i = 5; i <= NF; ++i)
{
printf("%5d",$i + 370);
}
}
printf("\n");
}
#啥都不匹配则原样输出
else
{
printf("%s\n",$0);
}
}
END{
}

2楼2013-05-20 17:03:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

meatball1982

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by zeppe at 2013-05-20 17:03:20
以下存为test.awk,使用时用命令
awk -f test.awk orig.key > targetfilename

BEGIN{
#默认分隔符为空格,这里不需要改动.
}
{
#当第一列为atom
if(match($1,"atom")
{
#按orig.key格式输 ...

收到,我试试哈。
唉。还是学吧。
3楼2013-05-20 18:42:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 meatball1982 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 华师大读博 +3 xq83 2026-04-22 3/150 2026-04-22 03:56 by 啊哒哒哒叨
[论文投稿] 急需审稿人!!! +3 陆小果画大饼 2026-04-21 3/150 2026-04-21 23:54 by jzy_123456
[考博] 申博/考博 +4 啃面包的小书虫 2026-04-17 8/400 2026-04-21 16:26 by 啃面包的小书虫
[考研] 一志愿A区211,22408 321求调剂 +7 随心所欲☆ 2026-04-15 8/400 2026-04-21 08:22 by Equinoxhua
[考研] 295分求调剂 +6 ?要上岸? 2026-04-17 6/300 2026-04-21 08:18 by Equinoxhua
[考研] 一志愿中科大材料与化工,353分还有调剂学校吗 +11 否极泰来2026 2026-04-15 13/650 2026-04-20 22:31 by Equinoxhua
[考研] 085600材料与化工调剂 5+3 孜孜不倦2002 2026-04-19 6/300 2026-04-20 21:25 by babero
[论文投稿] 有没有接收比较快的sci期刊呀,最好在一个月之内的,研三孩子求毕业 20+4 之护着 2026-04-16 7/350 2026-04-20 15:45 by 豆豆7758
[考研] 337求调剂 +3 jyz04 2026-04-18 3/150 2026-04-20 12:24 by 研可安
[考博] 申博 +3 Xyyx. 2026-04-18 3/150 2026-04-20 10:44 by YuY66
[考博] 湖南大学刘巧玲课题组2026年第二批次博士研究生招生信息 +3 南风观火 2026-04-18 5/250 2026-04-20 10:13 by 南风观火
[考研] 304求调剂 +8 castLight 2026-04-16 8/400 2026-04-19 17:14 by 中豫男
[考研] 求调剂 +10 小聂爱学习 2026-04-16 12/600 2026-04-19 16:51 by 中豫男
[考研] 求调剂 +6 苦命人。。。 2026-04-18 7/350 2026-04-19 16:27 by 中豫男
[考研] 0854求调剂 +23 门路摸摸 2026-04-15 27/1350 2026-04-19 01:59 by 烟雨流涯
[考研] 收到复试调剂但是去不了 +8 小蜗牛* 2026-04-16 8/400 2026-04-18 11:15 by zixin2025
[考研] 260求调剂 +4 Zyt1314520.. 2026-04-17 5/250 2026-04-18 08:28 by babysonlkd
[考研] 急需调剂 +9 绝不放弃22 2026-04-15 10/500 2026-04-18 08:09 by chixmc
[考研] 322求调剂 +6 tekuzu 2026-04-17 6/300 2026-04-17 13:48 by Espannnnnol
[考研] 一志愿沪9,生物学326求调剂 +9 刘墨墨 2026-04-15 9/450 2026-04-16 17:14 by 崔崔崔cccc
信息提示
请填处理意见