| 查看: 846 | 回复: 3 | |||
043114076木虫 (正式写手)
|
[交流]
【原创】DL_POLY STATIS 数据提取的shell脚本实现 已有2人参与
|
|
STATIS文件的结构是这样的: RECORD ENERGY UNITS=kjoule/mol 100 1.000000E-01 57 -4.511110E+05 4.099103E+02 -4.527781E+05 -2.340504E+03 -4.518018E+05 2.502369E+02 9.021103E+02 2.118284E+02 0.000000E+00 -4.542574E+05 0.000000E+00 1.259219E+04 1.509093E+03 9.414544E+03 -2.528589E+02 0.000000E+00 1.921407E+03 0.000000E+00 1.369171E+04 0.000000E+00 0.000000E+00 0.000000E+00 9.000000E+01 9.000000E+01 9.000000E+01 0.000000E+00 -3.722719E+00 7.904863E-02 8.569857E-02 1.611124E-01 1.765559E-01 1.112503E-01 2.658214E-01 3.051339E-01 8.195875E-01 4.890081E-01 1.705623E-01 1.978958E-01 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -4.207968E+00 -1.568472E+00 -2.366729E-02 -1.568472E+00 -2.741807E+00 -1.594941E+00 -2.366729E-02 -1.594941E+00 -4.218381E+00 200 2.000000E-01 57 -4.511112E+05 4.099364E+02 -4.528451E+05 -2.336209E+03 -4.518143E+05 2.786064E+02 8.259597E+02 2.008752E+02 0.000000E+00 -4.557601E+05 0.000000E+00 1.689977E+04 1.537109E+03 9.424109E+03 3.734186E+03 0.000000E+00 2.204361E+03 0.000000E+00 1.369171E+04 0.000000E+00 0.000000E+00 0.000000E+00 9.000000E+01 9.000000E+01 9.000000E+01 0.000000E+00 -5.441284E+00 2.458810E-01 2.129879E-01 2.726666E-01 3.423946E-01 2.721395E-01 5.091896E-01 4.866978E-01 1.504921E+00 1.095589E+00 5.472309E-01 7.263942E-01 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -6.088646E+00 -3.515484E-01 -8.385491E-01 -3.515484E-01 -5.695090E+00 1.820125E-01 -8.385491E-01 1.820125E-01 -4.540118E+00 …… 要提取红色部分的数据,使用fortran或其他语言很容易实现,但是为了下一步操作我尝试使用shell脚本实现: #!/bin/sh #read data from STATIS then plot line_num=$(grep -n '^ \{4,\}' STATIS | cut -d ":" -f 1 ) #得到绿色部分的行数 for i in $line_num do sed -n "$(($i+1))p" STATIS | awk '{print $1}' >> tmp #提取i+1行中第一个数据,保存到tmp文件 done 实现的过程是首先得到绿色部分的行数,然后提取i+1行的第一个数据。 由于初学shell脚本,发现运行效率很低,分享的同时也希望大家能帮助修改一下。 [ Last edited by 043114076 on 2011-1-5 at 20:52 ] |
» 猜你喜欢
求助:我三月中下旬出站,青基依托单位怎么办?
已经有6人回复
北京211副教授,35岁,想重新出发,去国外做博后,怎么样?
已经有8人回复
Cas 72-43-5需要30g,定制合成,能接单的留言
已经有7人回复
磺酰氟产物,毕不了业了!
已经有5人回复
论文终于录用啦!满足毕业条件了
已经有25人回复
2026年机械制造与材料应用国际会议 (ICMMMA 2026)
已经有3人回复
自荐读博
已经有3人回复
不自信的我
已经有5人回复
投稿Elsevier的杂志(返修),总是在选择OA和subscription界面被踢皮球
已经有8人回复
» 本主题相关价值贴推荐,对您同样有帮助:
求助氨基哌啶提取处理
已经有4人回复
求助,药材做提取工艺是否要考虑产地
已经有6人回复
怎样从甲醇中提取出乙醛肟!
已经有4人回复
chemical review 2012年最近的Core/Shell Nanoparticles的综述
已经有42人回复
求:用PBS脚本提交MS任务具体步骤
已经有4人回复
分享一篇JACS新作,关于core/shell结构,晶面控制以及氮掺杂TiO2可见光催化
已经有44人回复
药物提取物怎么弄成粉啊?
已经有27人回复
正丁醇提取和乙醇提取、正丁醇萃取的区别
已经有18人回复
沸水提取植物多糖,分离困难
已经有24人回复
几篇有关贵金属nps、core-shell、异质结合成、制备、性质、应用的Chemical reviews
已经有403人回复
WIEN2k的能带数据文件case.spaghetti_ene。你们都是怎么分析提取数据?和我的看法。
已经有8人回复
超声波辅助提取法提取多糖原理?
已经有8人回复
如何利用word 或者ultra-edit 将相同后缀的信息一次性提取出来
已经有7人回复
【求助】求助差分电荷密度的脚本!
已经有45人回复
043114076
木虫 (正式写手)
- 应助: 49 (小学生)
- 金币: 3364.9
- 散金: 52
- 红花: 23
- 帖子: 788
- 在线: 369.5小时
- 虫号: 570592
- 注册: 2008-06-07
- 性别: GG
- 专业: 理论和计算化学
2楼2011-01-05 20:59:52

3楼2011-01-05 21:32:15
043114076
木虫 (正式写手)
- 应助: 49 (小学生)
- 金币: 3364.9
- 散金: 52
- 红花: 23
- 帖子: 788
- 在线: 369.5小时
- 虫号: 570592
- 注册: 2008-06-07
- 性别: GG
- 专业: 理论和计算化学
★ ★ ★ ★ ★
ghcacj(金币+5):谢谢 2011-01-06 09:13:30
ghcacj(金币+5):谢谢 2011-01-06 09:13:30
|
是shell脚本语言 通过在网上搜索终于找到更为简单的解决办法,只需要一句命令: 方法一: sed -n '/^ \{4,\}/{n;p;}' STATIS | awk '{print $1}' 方法二: awk '/^ /{getline;print $1}' STATIS 取包含某一字符行的以下所有x行的数据 awk '/^ / {for(i=0;i 取包含某一字符行的以下第4行的数据 sed -n '/^ \{4,\}/{n;n;n;n;p;}' STATIS | awk '{print $1}' #这个是我自己扩展的,取第几行就写几个n 参考:http://www.chinaunix.net/jh/24/15796.html [ Last edited by 043114076 on 2011-1-5 at 22:52 ] |
4楼2011-01-05 22:39:02









回复此楼