2

I am having a bash file and I want to use below text in my bash file to generate a new file run.sh.

So what I have tried is

cat > run.sh << EOF
case="NONE"
for i in 300.0000 500.0000
do
 awk '$3<0.0{print $0}' $NONE.eff |  grep $i  |  awk '{print $3*(-1), $7/(4.485E-32)}' > eff"$i"_E.dat
 awk '$3>0.0{print $0}' $NONE.eff |  grep $i  |  awk '{print $3, $7/(4.485E-32)}' > eff"$i"_H.dat
done
EOF

with above cat and EOF command, I am getting a file run.sh but the variables (all the values that have $ sign with it) are missing in the run.sh file. What I am getting is

case="NONE"
for i in 300.0000 500.0000
do
 awk '<0.0{print ELF.sh}' .eff |  grep   |  awk '{print *(-1), /(4.485E-32)}' > eff""_E.dat
 awk '>0.0{print ELF.sh}' .eff |  grep   |  awk '{print , /(4.485E-32)}' > eff""_H.dat

done

What I want to get is

case="NONE"
for i in 300.0000 500.0000
do
 awk '$3<0.0{print $0}' $NONE.eff |  grep $i  |  awk '{print $3*(-1), $7/(4.485E-32)}' > eff"$i"_E.dat
 awk '$3>0.0{print $0}' $NONE.eff |  grep $i  |  awk '{print $3, $7/(4.485E-32)}' > eff"$i"_H.dat
done
astha
  • 593
  • 5
  • 15

0 Answers0