shell脚本遍历文件并将文件内容按行取出作为执行程序的参数,将执行结果保存到文件中

遍历文件并将文件内容按行取出作为执行程序的参数,将执行结果保存到文件中

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值