| 查看: 559 | 回复: 1 | ||
[求助]
Linux shell循环执行一个程序 已有1人参与
|
|
大家好 是这样的: 系统是centos, 命令行下执行一个计算程序,程序一开始会读一个输入文件infile。 想实现的功能: for i=0:1:50 修改输入文件infile中的的输出文件名,比如 "output_i.txt" 修改输入文件infile中的扫描参数,“angle = i” 执行一个文件名为calc的计算程序, "./calc" 等待执行完毕 end 恳请高手给我写一个shell文件,谢谢! |
» 猜你喜欢
河北省自然科学基金
已经有8人回复
西安交大新媒学院副院长用撤稿论文结题
已经有5人回复
论文撤稿了
已经有5人回复
某211大学教师把个人教师官方主页改成:我跑了我跑了我跑了!官宣跑路!
已经有5人回复
26/27申博自荐
已经有9人回复
售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急
已经有3人回复
售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急
已经有7人回复
揭秘青基评审内幕:几个A才能顺利中标
已经有4人回复
青B发送上会通知了吗
已经有7人回复
博士申请
已经有3人回复
zzy滴号
金虫 (小有名气)
- 应助: 18 (小学生)
- 金币: 5449.9
- 散金: 367
- 红花: 1
- 帖子: 282
- 在线: 895.6小时
- 虫号: 1540568
- 注册: 2011-12-17
- 性别: GG
- 专业: 理论和计算化学
【答案】应助回帖
|
因为楼主你没给出数据文件的确切格式,所以我假设文本第一行为"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












回复此楼
10