gpt4 book ai didi

linux - 使用 shell 脚本读取具有不同序列的日志文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:08:52 27 4
gpt4 key购买 nike

我是 shell 脚本的初学者,我想问你一个关于从日志文件中读取数据的问题。文件很长,计算收敛的步骤很少。

step 1

...

converged

final energy : 1000000

step 2

...

converged

final energy : 10000

...

structure optimized

final energy: 100000

我需要做的是首先确定结构是否最终优化,如果是,则读取最终能量和一些其他数据。在 mathematica 中我可以找到结构优化的位置并从那里进行搜索在 shell 中可能有同样的事情吗?我是初学者,请列出我需要使用的所有命令

最佳答案

这可能类似于以下内容:

optimized=0
while IFS= read -r line; do
case $line in
"structure optimized")
optimized=1
continue
;;
"final energy")
[ "$optimized" = 1 ] || continue
echo "Found final energy after structure optimized"
;;
esac
done <input.log

如果当您将 final energy 放入您的示例文件中时,您的真正意思是:

final energy: 10000

...那么您可以将相关条款更改为:

"final energy: "*)
[ "$optimized" = 1 ] || continue
final_energy=${line#*:}
echo "Found optimized final energy: $final_energy"
;;

...但如果没有详细而准确的说明,谁能准确知道您的意思呢?

关于linux - 使用 shell 脚本读取具有不同序列的日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32081168/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com