1、首先要知道态密度数据是在DOSCAR中的,让我们先看一下里面的结构
2、从第六行开始, 前两个数据是能量范围,第三个是NEDOS数,第四个是费米能级
3、我们的目标是把前两列提取出来,而且提取的列数=NEDOS的值(INCAR中的参数)比如我的INCAR中的NEDOS=601,这里我就要提取601列。
4、如下图,从第六行开始,我这里INCAR中的NEDOS=601,所以我要取到第607行
5、也就是要提取第7~NEDOS+6 行的数据,最后一步要做能量修正,就是第一列减去费米能
6、这样就完成了,小编的耔阵式肥脚本命令是这样的:a=`head -6 DOSCAR|tail -1|awk '{print $3}'`b=$((锾攒揉敫a + 6))f=`awk '{if(NR==6)print $4}' DOSCAR`sed -n '7,'$b' p' DOSCAR > DOS.datawk '{print $1-'$f',$2}' DOS.dat > DOS-final.dat
7、在命令行里运行:bash data-dos (小编的脚本名字就是data-dos)会生成两个文件,我们只要最后一个DOS-final.dat
8、把这个DOS-final.dat文件复制出来,拉到origin中就可以了
9、如果有想学习shell的小伙伴,跟小编发信息吧,如果想学的多,小编继续写shell的教程,今天就到这里了!