24小时热门版块排行榜    

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

秋雨子

金虫 (小有名气)

[求助] homo和lumo批量提取的脚本

最近在弄一批分子,一万个左右 ,想提取其中的homo和lumo能量值,但是发现很难实现,因为才接触脚本半年,还是自学的,所以搞不定了,有哪位大侠给个小脚本?我只会一点shell,提取个Energy还行,homo和lumo不好提取,若可以分享一下不胜感激!
回复此楼
To the time to life, rather than to life in time
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ZDBWHZ

金虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★
zhou2009(金币+5): 2011-12-11 20:12:18
秋雨子(金币+40): 没有错误,不用修改可以直接搞定!也不用再学习新的语言,非常感谢! 2011-12-11 20:26:28
直接shell:
#!/bin/sh
# ZDB, HNU, 2011/11/15.
# ZDB, HNU, 2011/11/23 modified to be more pratical.
`ls -l *.log | awk '{print $9}' | sed 's/.log//g' > file_list`
cat file_list | while read each_file
do
    file1=./$each_file".log"
    HOMO=`grep 'Alpha  occ.' $file1 | tail -n 1 | awk '{print $NF}'`
    `grep '^.Alpha virt.' $file1 > tmp`
    total_line=`awk '{print $1}' tmp | wc -l`
    blockflag=`grep 'Population analysis' $file1 | wc -l`
    if [ $blockflag == "1" ]
    then
        start_n=`expr ${total_line} \* 1 / 2 + 1`
    elif [ $blockflag == "2" ]
    then
        start_n=`expr ${total_line} \* 1 / 2 + 1`
    else
        start_n=`expr ${total_line} \* 2 / 3 + 1`
    fi
    LUMO=`sed -n ''$start_n'p' tmp | awk '{print $5}'`
    echo $each_file $HOMO $LUMO >> extract.txt
done

» 本帖已获得的红花(最新10朵)

16楼2011-12-10 13:31:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 25 个回答

秋雨子

金虫 (小有名气)

没有人回复呢 ?!
To the time to life, rather than to life in time
2楼2011-12-06 14:11:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

秋雨子

金虫 (小有名气)

3楼2011-12-07 11:23:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

abbott

金虫 (著名写手)

不要用QQ问我东西

★ ★
小红豆(金币+2): 感谢交流。 2011-12-14 18:07:53
你先贴一个样板文件,,,,
否则谁知道你要从什么文档中提取你要的东西啊.
Chemistry[]==[]Chem[]is[]try!!!
4楼2011-12-08 10:57:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见