高斯输出文件批量读取能量

本文介绍了如何利用Linux Shell脚本批量处理高斯量化计算输出文件,快速找到能量值。在多级文件夹中,通过列出所有文件、获取每个文件的最后一个能量值并过滤无关信息,实现高效的数据提取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

批量读取能量

问题背景

在量化计算时,能量是比较重要的概念,而在高斯的输出文件中能量数值往往藏在巨大的文本文件.log中。根据计算任务的大小,.log文件大小也有变化,不过日常计算中获得的文件基本大于十万行,按行查找显然不现实。
Linux的一大好处就是强大的文本文件处理能力,根据计算软件的设定,能量数值出现的行内有特别的标注SCF Done,使用vi打开.log文件,底行模式下输入/SCF Done回车即能瞬间找到目标值。
在这里插入图片描述
vi打开查找的办法还不够简便,因为要重复进行文件打开和关闭的操作,文本查找工具grep便体现出他的价值,无需打开文件就能查找符合条件的文本。

[engzsinger@master TBEP]$ grep "SCF Done" TBEP.log 
 SCF Done:  E(RB3LYP) =  -894.244966606     A.U. after   12 cycles
 SCF Done:  E(RB3LYP) =  -894.263225424     A.U. after   11 cycles
 SCF Done:  E(RB3LYP) =  -894.267963679     A.U. after   10 cycles
 SCF Done:  E(RB3LYP) =  -894.270585213     A.U. after   10 cycles
 SCF Done:  E(RB3LYP) =  -894.273164308     A.U. after   12 cycles
 SCF Done:  E(RB3LYP) =  -894.274338978     A.U. after   10 cycles
 SCF Done:  E(RB3LYP) =  -894.274519626     A.U. after    9 cycles
 SCF Done:  E(RB3LYP) =  -894.274545020     A.U. after    9 cycles
 SCF Done:  E(RB3LYP) =  -894.274550239     A.U. after    9 cycles
 SCF Done:  E(RB3LYP) =  -894.274551722     A.U. after    9 cycles
 SCF Done:  E(RB3LYP) =  -894.274554413     A.U. after    9 cycles
 SCF Done:  E(RB3LYP) =  -894.274556118     A.U. after    9 cycles
 SCF Done:  E(<
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值