24小时热门版块排行榜    

查看: 1245  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 9zw1gfyi7x 2026-08-01 3/150 2026-08-01 19:00 by Kddn1pB6pAzX
[论文投稿] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 9zw1gfyi7x 2026-08-01 8/400 2026-08-01 18:50 by Kddn1pB6pAzX
[公派出国] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 9zw1gfyi7x 2026-08-01 7/350 2026-08-01 18:43 by Kddn1pB6pAzX
[博后之家] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 9zw1gfyi7x 2026-08-01 9/450 2026-08-01 18:43 by Kddn1pB6pAzX
[基金申请] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 9zw1gfyi7x 2026-08-01 9/450 2026-08-01 18:42 by Kddn1pB6pAzX
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 9zw1gfyi7x 2026-08-01 6/300 2026-08-01 18:37 by Kddn1pB6pAzX
[公派出国] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 9zw1gfyi7x 2026-07-31 8/400 2026-08-01 18:22 by Kddn1pB6pAzX
[教师之家] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 9zw1gfyi7x 2026-07-31 9/450 2026-08-01 18:11 by Kddn1pB6pAzX
[论文投稿] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 9zw1gfyi7x 2026-07-31 9/450 2026-08-01 18:10 by Kddn1pB6pAzX
[博后之家] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 jzg3xk1po8 2026-07-31 10/500 2026-08-01 17:51 by Kddn1pB6pAzX
[公派出国] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +4 jzg3xk1po8 2026-07-31 7/350 2026-08-01 17:51 by Kddn1pB6pAzX
[考博] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +4 jzg3xk1po8 2026-07-31 12/600 2026-08-01 17:50 by Kddn1pB6pAzX
[论文投稿] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 jzg3xk1po8 2026-07-31 7/350 2026-08-01 17:42 by Kddn1pB6pAzX
[基金申请] 面上再次挂了,太难了,躺也躺不了,倦也卷不过,小学校之殇! +16 低垂的野花 2026-07-31 22/1100 2026-08-01 16:39 by Cathyau
[教师之家] 基础研究怎么拉横向,学校到款任务越来越多,难以完成 拉横向,都有哪些途径啊 +8 锦衣卫寒战 2026-07-28 8/400 2026-07-31 18:13 by beefly
[基金申请] 系统今天又提示维护了,估计离放榜不远了 +11 winnerche 2026-07-29 15/750 2026-07-30 23:08 by jnhyjjm
[基金申请] 你们的时间戳变了吗 +3 archvillain 2026-07-30 4/200 2026-07-30 18:53 by levinzhwen
[有机交流] 产物和副产物价值比较 30+4 小汤02 2026-07-27 5/250 2026-07-30 12:44 by czyzsu
[基金申请] 时间戳他又来了 +14 晓晓爱翠翠 2026-07-26 17/850 2026-07-29 16:30 by 呵呵二哥
[基金申请] 准备明年的基金了 +5 Tide man 2026-07-27 5/250 2026-07-28 09:25 by newfuzzy1
信息提示
请填处理意见