遍历文件并将文件内容按行取出作为执行程序的参数,将执行结果保存到文件中
source123 source234 —>>> output123 output234
#!/bin/bash
export LANG=C.UTF-8
b=''
sources=`ls source*`
arr=(${sources// /})
total=${#arr[@]} #zi fu ge shu
cnts=0
# for element in ${arr[@]}
rm output -rf
mkdir output
for element in ${sources}
do
row_num=`sed -n '$=' ${element}`
No=${element##source}
for i in $(seq 1 ${row_num})
do
cnt=$i
param=`awk -F: -vnvar="$cnt" '{if(NR == nvar) {print $0}}' ${element}`
`./main ${param} > tmp 2>&1`
num=`sed -n '$=' tmp`
num=`expr ${num} - 1`
energy=`awk -F " " -vnvar="$num" '{if(NR == nvar) {print $3}}' tmp`
value=`printf "%0.2f" ${energy%%J}`
cntt=`printf "%02d" ${cnt}`
echo ${cntt} ${value} >> output/output${No}
done
cnts=`expr ${cnts} + 1`
pr=`awk 'BEGIN{printf "%.0f\n",('${cnts}'/'${total}')*100}'`
printf "progress:[%-110s]%d%%\r" ${b} ${pr}
b=#${b}
done
rm tmp
echo