问题背景
在量化计算时,能量是比较重要的概念,而在高斯的输出文件中能量数值往往藏在巨大的文本文件.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(<