24小时热门版块排行榜    

查看: 529  |  回复: 1

optk

新虫 (小有名气)

[求助] Linux shell循环执行一个程序 已有1人参与

大家好
是这样的:
系统是centos, 命令行下执行一个计算程序,程序一开始会读一个输入文件infile。
想实现的功能:
for i=0:1:50
   修改输入文件infile中的的输出文件名,比如 "output_i.txt"
   修改输入文件infile中的扫描参数,“angle = i”
   执行一个文件名为calc的计算程序,   "./calc"
   等待执行完毕
end

恳请高手给我写一个shell文件,谢谢!
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zzy滴号

金虫 (小有名气)

【答案】应助回帖

因为楼主你没给出数据文件的确切格式,所以我假设文本第一行为"output_i.txt",第二行为“angle = i”。shell如下:

#!/bin/sh
#常量定义
INPUTFILE="./a.dat"
START=0
LAST=10
OUTPUTFILEPRE="output_"
OUTPUTFILEEND=".txt"
ANGLE="angle="
OUTERPROGRAMPATH="./calc.sh"

#测试数据文件是否存在且非空时
if [ ! -s $INPUTFILE ]; then
        echo "The file isn't exist or empty!"
        exit -1
fi

#测试外部运行程序是否存在
if [ ! -x $OUTERPROGRAMPATH ]; then
        echo "The outer excute file isn't exist or error!"
        exit -1
fi

#测试行数是否符合要求
lineNum=`sed -n '$=' $INPUTFILE`
if [ $lineNum -le 2 ]; then
        echo "The file has too little contens"
        exit -1
fi

for index in $(seq $START $LAST)
do
        #拼出当前的输出文件
        curOutFile=$OUTPUTFILEPRE$index$OUTPUTFILEEND
        #拼出当前的参数
        curAngle=$ANGLE$index
        #将上两个参数进行替换
        sed -i 1c\ $curOutFile $INPUTFILE
        sed -i 2c\ $curAngle $INPUTFILE
        #执行定义的外部程序
        $OUTERPROGRAMPATH       
done
天道酬勤
2楼2015-09-20 16:51:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 optk 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 求调剂 +7 十三加油 2026-03-21 7/350 2026-03-23 23:48 by 热情沙漠
[考研] 材料292调剂 +4 橘颂思美人 2026-03-23 4/200 2026-03-23 23:16 by peike
[考研] 一志愿中南大学化学学硕0703总分337求调剂 +5 niko- 2026-03-22 5/250 2026-03-23 22:01 by fuyu_
[考研] 265求调剂 +10 梁梁校校 2026-03-17 10/500 2026-03-23 21:17 by 一切OK
[考研] 一志愿重庆大学085700资源与环境,总分308求调剂 +7 墨墨漠 2026-03-23 8/400 2026-03-23 20:36 by Creta
[考研] 化学308分求调剂 +3 你好明天你好 2026-03-23 3/150 2026-03-23 20:11 by macy2011
[考研] 考研化学308分求调剂 +7 你好明天你好 2026-03-23 8/400 2026-03-23 18:39 by macy2011
[考研] 接收2026硕士调剂(学硕+专硕) +4 allen-yin 2026-03-23 6/300 2026-03-23 15:04 by 汪!?!
[考研] 308求调剂 +3 墨墨漠 2026-03-21 3/150 2026-03-22 16:54 by i_cooler
[考研] 298求调剂一志愿211 +3 上岸6666@ 2026-03-20 3/150 2026-03-22 15:50 by ColorlessPI
[考研] 260求调剂 +3 朱芷琳 2026-03-20 4/200 2026-03-22 15:12 by 朱芷琳
[考研] 0703化学调剂 +4 妮妮ninicgb 2026-03-21 4/200 2026-03-21 18:39 by 学员8dgXkO
[考研] 材料 271求调剂 +5 展信悦_ 2026-03-21 5/250 2026-03-21 17:29 by 学员8dgXkO
[考研] 268求调剂 +9 简单点0 2026-03-17 9/450 2026-03-21 15:37 by lature00
[考研] 279求调剂 +5 红衣隐官 2026-03-21 5/250 2026-03-21 14:59 by lature00
[考研] 一志愿天津大学化学工艺专业(081702)315分求调剂 +12 yangfz 2026-03-17 12/600 2026-03-21 03:30 by JourneyLucky
[考研] 一志愿西南交大,求调剂 +5 材化逐梦人 2026-03-18 5/250 2026-03-21 00:26 by JourneyLucky
[考研] 一志愿中海洋材料工程专硕330分求调剂 +8 小材化本科 2026-03-18 8/400 2026-03-20 23:16 by JourneyLucky
[考研] 288求调剂 +16 于海海海海 2026-03-19 16/800 2026-03-20 22:28 by JourneyLucky
[考研] 求调剂,一志愿:南京航空航天大学大学 ,080500材料科学与工程学硕,总分289分 +4 @taotao 2026-03-19 4/200 2026-03-20 22:14 by JourneyLucky
信息提示
请填处理意见