24小时热门版块排行榜    

Znn3bq.jpeg
查看: 1113  |  回复: 5
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

ter20

铁杆木虫 (正式写手)

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

高斯计算得到的log文件,只想要期中的能量,即结尾“HF=****”那一行,文件比较多,想写个程序自动读取这一行再输出到一个新的文本文件中,因为是新手,所以不知道具体的算法该如何实现,希望高手能够指点一二,谢谢
回复此楼
已阅   回复此楼   关注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的回帖
查看全部 6 个回答

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的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 材料工程085601,270求调剂 +27 @ASDF1234 2026-04-08 29/1450 2026-04-10 10:48 by 紫翼精灵
[考研] 277 数一104,学硕,求调剂 +14 瓶子PZ 2026-04-09 15/750 2026-04-10 09:32 by grey499
[考研] 268分085602化学工程调剂 +24 月照花林。 2026-04-09 24/1200 2026-04-10 08:09 by Sammy2
[考研] 267求调剂 +5 再忙也要吃饭啊 2026-04-09 5/250 2026-04-09 18:47 by stone_128
[考研] 材料专硕322 +14 哈哈哈吼吼吼哈 2026-04-05 14/700 2026-04-09 13:25 by 5268321
[考研] 专硕0854初试考材科基,求调剂 +7 3220548044 2026-04-06 10/500 2026-04-08 21:59 by hypershenger
[考研] 软件工程求调剂22软工296分求调剂,接受跨调 +4 yangchen2017 2026-04-08 5/250 2026-04-08 21:56 by 土木硕士招生
[考研] 298求调剂 +4 manman511 2026-04-05 4/200 2026-04-08 16:50 by tjzhao
[考研] 一志愿郑州大学085600求调剂 +21 吃的不少 2026-04-05 24/1200 2026-04-08 16:47 by sunhuadong
[考研] 一志愿南昌大学,085600,344分求调剂 +11 调剂上岸玘 2026-04-05 12/600 2026-04-08 16:17 by luoyongfeng
[考研] 求调剂 +15 熊二想上岸 2026-04-06 15/750 2026-04-08 04:53 by 无际的草原
[考研] 材料调剂 +13 汉123456 2026-04-07 14/700 2026-04-07 22:53 by 来看流星雨10
[考研] 085405软件工程301分求调剂,专硕可跨专业,四六级已过 +3 静静想想 2026-04-05 3/150 2026-04-06 15:23 by nepu_uu
[考研] 0857大类环境工程B区求调剂 +3 龚禹铭 2026-04-05 3/150 2026-04-06 10:22 by 蓝云思雨
[考研] 284求调剂 +7 徐同学_001 2026-04-04 13/650 2026-04-05 17:19 by yulian1987
[考研] 材料化工306分找合适调剂 +14 沧海轻舟e 2026-04-04 14/700 2026-04-05 09:53 by 朱云虎202
[考研] 341求调剂 +3 学无止境,冲 2026-04-05 3/150 2026-04-05 09:40 by lbsjt
[考研] 男生,一志愿沪9生物学071000,初试308求调剂 +3 刘墨墨 2026-04-04 3/150 2026-04-05 08:26 by barlinike
[考研] 可跨专业调剂 +3 周的得地 2026-04-04 6/300 2026-04-04 22:21 by barlinike
[考研] 316求调剂 +9 墨辰_Orion926 2026-04-04 9/450 2026-04-04 21:35 by lbsjt
信息提示
请填处理意见