| 查看: 630 | 回复: 2 | ||||
[求助]
shell脚本编程 已有1人参与
|
|
我有个QB.out文件,文件中有 CARTESIAN COORDINATES 1 H 16.074719860 8.229529334 25.103862190 2 C 16.465993520 9.232996370 25.301990040 3 C 17.415993140 9.685996190 24.205990470 4 N 16.735993410 9.949996080 22.943990970 5 C 17.340993170 10.058996040 21.764991430 6 N 16.616993460 10.307995940 20.682991860 7 N 18.659992650 9.916996100 21.652991480 8 H 15.602017307 9.906518523 25.370615233 9 H 16.966838633 9.240617684 26.275695958 10 H 17.924047738 10.622953044 24.553804455 ,其中文件中有2个CARTESIAN COORDINATES,如果我想提取 第二个CARTESIAN COORDINATES这个关键词下面的第3-9行坐标,并保留小数点后4位有效数字到QB.coods文件用shell怎样写脚本呀,shell新手,还望大家多多帮忙呀,不胜感激~ |
» 猜你喜欢
计算机、0854电子信息(085401-058412)调剂
已经有4人回复
基金申报
已经有3人回复
国自然申请面上模板最新2026版出了吗?
已经有9人回复
溴的反应液脱色
已经有6人回复
纳米粒子粒径的测量
已经有7人回复
常年博士招收(双一流,工科)
已经有4人回复
推荐一本书
已经有10人回复
参与限项
已经有5人回复
有没有人能给点建议
已经有5人回复
假如你的研究生提出不合理要求
已经有12人回复
baichi121234
禁虫 (职业作家)
|
本帖内容被屏蔽 |
2楼2016-06-07 23:15:52
czyzsu
专家顾问 (文坛精英)
-

专家经验: +3703 - 应助: 3307 (副教授)
- 贵宾: 1
- 金币: 307322
- 散金: 2465
- 红花: 685
- 帖子: 28479
- 在线: 7389小时
- 虫号: 150213
- 注册: 2005-12-29
- 专业: 化学生物学与生物有机化学
- 管辖: 有机交流
【答案】应助回帖
|
#!/bin/bash for i in *.out do NAME=${i%.out} NATOM=` grep "NAtoms=" $i | tail -1 | awk ' {print $2} ' ` sed ' /Standard orientation: /, /Rotational constants/! d' ${i} | grep -v -E ' I| C| N| D| R| \-\-\-' | tail -$NATOM | awk ' {gsub(17, "Cl", $2) ; gsub(16,"S",$2); gsub("1", "H", $2); gsub(6, "C", $2); gsub(7, "N", $2); gsub(8, "O", $2); printf "%5s %10.6f %10.6f %10.6f\n",$2,$4,$5,$6}' > ${NAME}.xyz done —————————————————————— 楼主,将以上保存为out2xyz.sh,chmod +x out2xyz.sh 在当前目录下执行./out2xyz.sh,就可以批处理提取你要的数据。数据有效数字可以通过调整%10.6f这个格式来得到你要的有效数字。 如果没有得到你要的数据,适当调整该语句(NATOM=` grep "NAtoms=" $i | tail -1 | awk ' {print $2} ' `)就好了。 |
3楼2016-11-15 20:07:57












回复此楼