24小时热门版块排行榜    

查看: 906  |  回复: 6
当前主题已经存档。

zhangwc5020

银虫 (小有名气)

[交流] 【讨论】编辑脚本,批量处理文件

我们经常用脚本投作业,可以不用操心机器空着,而浪费机时;
当然,我们也可以用脚本来统计能量:比如有100个out文件,你想统计他们的HF能量,一个一个的打开,必定很费劲,如果能编辑一个脚本,来批量的读取文件的特定行,那麽可以不打开文件,就能导出能量值。
还有,linux的批量处理功能应该不错吧,可以开发一下,大家一起,呵呵
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bay__gulf

金虫 (著名写手)

刘苏州

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
yjcmwgk(金币+3,VIP+0): 12-9 20:23
记得我在下面的帖子中发过这类问题,
http://www.mdbbs.org/viewthread.php?tid=11162
今晚暂不能访问
CODE:
#!/bin/bash
dir=get_energy
mkdir ${dir}

for i in *.out
do
en=`more ${i} | grep 'Energy'| tail -n 1 | cut -c 13-20`
cp -- ${i} ${dir}/${en}_${i}
echo "${i} ${en}" >> get_energy.log
done

此脚本可以把out文件的能量提取出来,存储到get_energy.log 中,同时生成以能量值为文件名的out文件,便于排序筛选。

解析
en=`more ${i} | grep 'Energy'| tail -n 1 | cut -c 13-20`
获取能量值。
grep 'Energy': 对不同的文件,能量的表达不同,am1用”Energy”, hf 用E(RHF),可以根据实际选择。
Tail –n 1 : 对于opt 任务,此处可以选择最后一个能量值
cut -c 13-20: 截取能量值,13-20个字符,未必就是这么多,可以通过试用得到。注意前面不要有空格和减号。

cp ${i} ${dir}/${en}_${i}
复制文件到新的目录,并命名为 能量_原文件名

echo "${i} ${en}" >> get_energy.log
统计能量到新的文件。

[ Last edited by bay__gulf on 2009-12-9 at 20:25 ]
2楼2009-12-09 20:18:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangwc5020

银虫 (小有名气)

讨论

高手啊,提前都想到了,而且还搞定了,佩服
还有个想法:如果能编个脚本,不断的查看我正在计算的作业,如果作业结束,就给我hotmail信箱里发个信息,那麽投作业这一块,又会自动一点了
3楼2009-12-09 21:18:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

coolrainbow

木虫 (著名写手)

未来国家冻凉


小木虫(金币+0.5):给个红包,谢谢回帖交流
引用回帖:
Originally posted by zhangwc5020 at 2009-12-9 21:18:
高手啊,提前都想到了,而且还搞定了,佩服
还有个想法:如果能编个脚本,不断的查看我正在计算的作业,如果作业结束,就给我hotmail信箱里发个信息,那麽投作业这一块,又会自动一点了

你说了半天还不如用torque呢,100个作业排队去吧

至于发邮件吗,可以在torque的epilogue文件里加一个python脚本来发邮件

[ Last edited by coolrainbow on 2009-12-10 at 08:19 ]
技术博客:http://hi.baidu.com/coolrainbow/blog
4楼2009-12-10 08:17:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

abbott

金虫 (著名写手)

不要用QQ问我东西

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
yjcmwgk(金币+2,VIP+0): 12-10 10:11
你可以把作业监控情况发送到电话短信息。

可以参考fetion机器人处理。

我就用这个处理的。
随时监控!
现在只能做到作业是否完成,是否加载, 作业是否正常结束。
还不能通过短信息发送指令控制机器。

只是一个提醒,或者作业出错警告!
Chemistry[]==[]Chem[]is[]try!!!
5楼2009-12-10 09:37:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
:ciya:
6楼2009-12-26 20:31:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

abbott

金虫 (著名写手)

不要用QQ问我东西

引用回帖:
Originally posted by coolrainbow at 2009-12-10 08:17:


你说了半天还不如用torque呢,100个作业排队去吧

至于发邮件吗,可以在torque的epilogue文件里加一个python脚本来发邮件

[ Last edited by coolrainbow on 2009-12-10 at 08:19 ]

说的对!

如果资源比较OK。
建议使用别的资源管理软件来加载作业。
如果你有8以上CPU, 16GiB以上内存,推荐使用一些调度程序来管理作业,
比较方便。
你可能需要一周学习使用这个管理器,但是会用了,就是一劳永逸。
比如使用SGE openbps 还有楼上提到的!

如果你计算量不大(作业数目)
资源有限,就么有必要了。
Chemistry[]==[]Chem[]is[]try!!!
7楼2009-12-26 22:20:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zhangwc5020 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见