<pre name="code" class="plain">#! /bin/sh
Runjob(){
var1=$1
folder0="O`printf %0.2f $var1` "
filelist="./Dat/grd_xy.grd ./Dat/Ivalue.plt ./Dat/ruvwt.p3d ./Dat/PSE_ZYM.inp"
folder1="output"
fileinp="PSE_ZYM.inp"
varkey="Basis_ome_bat"
jobcmd1="/localhome/zcb/20151217/Dat/Init_PSE.out >initial.log"
jobcmd2="/localhome/zcb/20151217/Dat/PSE_v1.2_ext.out >PSE_run.log &"
#Make dir folder0 ; ./ -> ./folder0
CMD="mkdir $folder0 ; cp $filelist $folder0 ; cd $folder0 ; mkdir $folder1"
eval $CMD
# awk 'pattern {action} pattern {action}'
# '$varkey','$var1' when use variables of the shell '' is neccesary
awk '/'$varkey'/{$3=“'$var1'”}1{print $0}' $fileinp > tmp ; mv tmp $fileinp
echo $PWD
eval $jobcmd1
eval $jobcmd2
cd ..
}
for var in `seq $1 $2 $3`
do
Runjob $var |tee -a run_jobs.log
done
</pre><pre name="code" class="plain"><pre name="code" class="plain">collectfile(){
#folder name
var1=$1
folder0=$2
filename0="Amp_PSE.plt"
filename1="Bang_Amp_PSE.plt"
info=$var1
#cd to output folder
cd $var1
# check output folder
if [ -d "output" ] ;then
cd "output"
#check if output file is ready
if [ -f $filename0 ] ;then
CMD="cp $filename0 $folder0/$var1-$filename0"
eval $CMD
info="$info Done..."
fi
if [ -f $filename1 ] ;then
CMD="cp $filename1 $folder0/$var1-$filename0"
eval $CMD
info="$info Bang..."
fi
cd ..
fi
cd ..
echo $info
}
folder0="/localhome/zcb/PSE_calc/Amp_check"
#echo $folder0
CMD="mkdir -p $folder0"
eval $CMD
for var in `ls -d */`
do
var=${var%?} #cut the last character '/'
collectfile $var $folder0 |tee -a $folder0/collect.log
done