G木木夕 2016-03-09 06:34 采纳率: 33.3%
浏览 1447
已采纳

求助各位~一个有关linux中.sh脚本里写循环的问题,谢谢O(∩_∩)O~

a = ["name1", "name2", "name3"......"name100"]

for i in 路径/*.py    #这个路径底下有100个python脚本,名字不同,代码一样
do
  我需要把每个python文件打开,改动一行if name = "":把a中名字对应进去,保存,运行下边这条
    python $i > $i.txt   #各自结果存到相应的txt($i.txt 这句不确定写对了没。。。)
done
do里面有两个任务,一是把python脚本改下,就是粘进去相应名字(100个名字,100个python脚本,100个结果txt)。
二是运行这个脚本
其实开始我都是对着a列表,打开python自己粘进去的,再运行,但现在时间紧迫,不知谁能帮忙想想怎么写呢?
  • 写回答

2条回答

  • qwerB 2016-03-09 08:20
    关注

    看如下脚本可以不:
    a="name1:name2:...:name100"
    n=1

    for i in $(ls) ;
    do
    e="echo $a | cut -d : -f $n"
    name=$(eval $e)

        sed -i s/if name = \"\"/if name=\"$name\"/g $i
    
        python $i > ${i}.txt
    

    done

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥50 汇编语言除法溢出问题
  • ¥65 C++实现删除N个数据列表共有的元素
  • ¥15 Visual Studio问题
  • ¥15 state显示变量是字符串形式,但是仍然红色,无法引用,并显示类型不匹配
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波