Advertisement
Guest User

awk code

a guest
Feb 27th, 2018
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Awk 0.60 KB | None | 0 0
  1.      awk '
  2.     BEGIN  { min=1000 ; jump_energy="INIT" }
  3.     function abs(v) {return v < 0 ? -v : v}
  4.     NR==6 {fermi_energy=$4}
  5.     NR>6
  6.     {
  7.       jump_energy != 0 {
  8.         this_diff=abs(fermi_energy-$1)
  9.         this_diff < min {
  10.           min=this_diff
  11.           energy_level=0
  12.           jump_energy=0
  13.           getline
  14.         }
  15.       }
  16.       jump_energy == 0  && $2 != "0.0000E+00" {
  17.         energy_level=$1
  18.         jump_energy=$2
  19.       }
  20.     END {
  21.       printf "  Fermi Energy: %s\n  Energy Level: %s\n  Jump Energy: %s" fermi_energy energy_level jump_energy
  22.         }
  23.       }
  24.     }'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement