1#!/bin/bash 2# use: egap.sh n file.r 3# 4# compute Egap = E(n+1) - E(n) 5 6declare -i nocc=$1 7declare -i nl=nocc/5+1 8#echo "nl=" $nl 9declare -i nfrac=nocc-5*\(nocc/5\) 10#echo "nfrac=" $nfrac 11 12grep -A$nl '<eigenvalues ' $2| \ 13 awk -v nl=$nl -v nfrac=$nfrac -v nocc=$nocc\ 14 ' /<eigenvalues / {kpx=$3;kpy=$4;kpz=$5} \ 15 NR%(nl+2)==nl {e[0] = $5;} \ 16 NR%(nl+2)==(nl+1) \ 17 { e[1]=$1; e[2]=$2; e[3]=$3; e[4]=$4; e[5]=$5; \ 18 e_n = e[nfrac]; e_np1 = e[nfrac+1]; \ 19 printf("E_%d= %-8.3f E_%d= %-8.3f Eg= %-8.3f %6.3f %6.3f %6.3f\n",nocc,e_n,nocc+1,e_np1,e_np1-e_n,kpx,kpy,kpz); }' - 20