24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1099  |  回复: 5

ter20

铁杆木虫 (正式写手)

[交流] 【求助】结果文件中字符串的搜索程序 已有5人参与

高斯计算得到的log文件,只想要期中的能量,即结尾“HF=****”那一行,文件比较多,想写个程序自动读取这一行再输出到一个新的文本文件中,因为是新手,所以不知道具体的算法该如何实现,希望高手能够指点一二,谢谢
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hakekill

木虫 (小有名气)

ter20(金币+1):谢谢,只是不知道比较好的字符串匹配方法,一行一行地匹配吗? 2010-07-05 14:46:45
这个如果是用shell脚本的比较简单,直接用grep匹配你需要的行,然后将结果输出到新的文件就行了。如果大量的文件的话,用shell也比较方便。

如果是写程序的话,思路也差不多,打开一个文件读,然后匹配你需要的行,找到后输出到新的文件。多个文件的话,可以把文件名做成一个数组,或者专门用一个文件来存文件名。
2楼2010-07-05 13:25:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ter20

铁杆木虫 (正式写手)

因为我要的HF=****就在高斯结果文件的最后,所以我想知道当我读文件时把读取位置移到文件结尾,能不能从文件结尾向文件开头搜索?
3楼2010-07-05 14:50:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

老虎大王

木虫 (著名写手)


ter20(金币+1):好的,我试试,谢谢啦 2010-07-05 15:24:03
余泽成(金币+1):谢谢参与应助! 2010-07-05 19:06:14
引用回帖:
Originally posted by ter20 at 2010-07-05 14:50:59:
因为我要的HF=****就在高斯结果文件的最后,所以我想知道当我读文件时把读取位置移到文件结尾,能不能从文件结尾向文件开头搜索?

程序读文件还是很快的,你从头到尾一行行地读文件,直到读出所需的字符串就可以了。
4楼2010-07-05 14:57:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)


ter20(金币+1):谢谢你的建议啊,的确是会出现这种问题,我再试试 2010-07-05 20:41:43
nono2009(金币+1):鼓励应助。 2010-07-06 09:30:46
你读 gaussian 中最后的那部分内容中的 HF 其实还是比较麻烦的,因为 H 和 F 有可能分在两行,或者 HF 后面的数据被分在两行,所以,匹配字符串还真不是很好做的……

如果不强求最后的 HF,你可以在 .log 文件中找到那个数值,呵呵,那个肯定是在一行中的
5楼2010-07-05 20:38:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tjyl

金虫 (正式写手)

★ ★
nono2009(金币+2):鼓励应助。 2010-07-06 09:30:25
我记得去年有人求助过这样的问题。
我觉得
1、直接用perl,先抽取后面部分的文件,然后再多行匹配。
2、自己试着看看能不能把gaussion输出结果的那个函数修改一下,让再输出HF前后都多输出一个换行符,就让这个HF=xx再单独的一行(我对gaussion不了解,不知道现在是不是完全不提供源码)
3、如果要蛮干,可以试试用C吧,其实C干这样不复杂的事情还是很容易的,其实也不是大家想的那么麻烦。反正总共就那么几种情况。

对于1,3都得先fseek把文件指针移在后面,比如倒数1K个字符处,这样后来的内容反正就那么100多行,也花不了多少时间去分析的
引用回帖:
Originally posted by snoopyzhao at 2010-07-05 20:38:47:
你读 gaussian 中最后的那部分内容中的 HF 其实还是比较麻烦的,因为 H 和 F 有可能分在两行,或者 HF 后面的数据被分在两行,所以,匹配字符串还真不是很好做的……

如果不强求最后的 HF,你可以在 .log 文件 ...

6楼2010-07-05 23:15:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ter20 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 307求调剂 +3 所念及所望 2026-04-06 3/150 2026-04-06 17:30 by 土木硕士招生
[考研] 085405软件工程301分求调剂,专硕可跨专业,四六级已过 +3 静静想想 2026-04-05 3/150 2026-04-06 15:23 by nepu_uu
[考研] 362求调剂一志愿中国石油大学 +4 我要考大 2026-04-06 6/300 2026-04-06 14:11 by 无际的草原
[考研] 085602调剂 初试总分335 +9 19123253302 2026-04-05 9/450 2026-04-06 06:14 by houyaoxu
[考研] 295求调剂 +8 FZAC123 2026-04-03 8/400 2026-04-05 17:46 by 蓝云思雨
[考博] 申博 +7 IQwQl 2026-04-04 7/350 2026-04-04 23:32 by mumin1990
[考研] 283求调剂 +4 mcbbc 2026-04-03 5/250 2026-04-04 20:51 by imissbao
[考研] 309求调剂 +4 快乐的小白鸽 2026-04-04 5/250 2026-04-04 15:55 by cql1109
[考研] 本9一志愿2 0854低分专硕286求调剂 +9 芒种111 2026-04-04 9/450 2026-04-04 11:01 by tangruihua
[考研] 0710生物学336分求调剂 +6 kiyy 2026-04-01 8/400 2026-04-04 10:10 by kiyy
[考研] 289-求调剂 +4 这里是_ 2026-04-03 4/200 2026-04-03 14:23 by 1753564080
[考研] 化学070300-总分378-求调剂 +5 挪椅子的泡泡糖 2026-04-02 5/250 2026-04-02 22:20 by ZXlzxl0425
[考研] 农学考研求调剂 +3 dkdkxm 2026-04-01 3/150 2026-04-02 16:04 by wangjagri
[考研] 081200-11408-276学硕求调剂 +3 崔wj 2026-04-02 3/150 2026-04-02 15:06 by cal0306
[考研] 【求调剂】新能源材料本科,一志愿211,初试321 +6 求调剂学校, 2026-04-02 6/300 2026-04-02 09:41 by 晴空210210
[考研] 08生物与医药专硕初试346找调剂 +6 dianeeee 2026-04-01 7/350 2026-04-02 08:23 by guoweigw
[考研] 302求调剂一志愿北航070300,本科郑大化学 +8 圣日耳曼条 2026-04-01 11/550 2026-04-02 07:40 by chemdavid
[考研] 265求调剂 +11 yelck 2026-04-01 12/600 2026-04-01 19:12 by 549790059
[考研] 材料调剂 +10 Eujd1 2026-03-31 11/550 2026-04-01 11:23 by ivanqyq
[考研] 一志愿北京科技大学085601材料工程英一数二初试总分335求调剂 +5 双马尾痞老板2 2026-03-31 5/250 2026-04-01 09:04 by oooqiao
信息提示
请填处理意见