2 g mumuxi G_mumuxi 于 2016.03.09 14:34 提问

求助各位~一个有关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
qwerB   2016.03.09 16: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

qwerB
qwerB   2016.03.09 16:22

忘记n+1了,在循环最后一行加上n=$(($n+1))

G_mumuxi
G_mumuxi 谢谢!!!
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
给kill给一个小脚本
好长时间都没有写博客了,关键最近真是累啊!这系统编程这一块,之前的功底比较差,最近学习起来真是吃力,勉强勉强才可以应付过来,今晚休息之余来个小脚本,练练手,在linux下我认为还是要会写脚本的。        平时我们在执行程序的时候,总是难免ctrl + c可是有时候这个SIGINT被屏蔽,那么你就终止不了,除此之外,还有一些服务,后台跑的(nginx,httpd,vsftpd),我要干掉ta
LINUX_004:将脚本放到后台执行——加nohup与不加nohup的区别
Linux系统 当在系统上执行下面的命令,将test.sh脚本放到后台执行 /location/test.sh &此时,分两种情况考虑问题, 一:继续执行exit命令退出当前session, 则 test.sh这个脚本仍然在Linux系统里面运行, 二:不执行exit命令退出,而直接断开当前连接,则 test.sh脚本会立即退出。 如果使用下面命令,将test.sh脚本放到后台执
linux -- 用脚本设置环境变量
我在脚本文件设置环境变量,
linux脚本-let的使用(ex46.sh)
#!/bin/bash echo let a=11 # Same as 'a=11' let a=a+5 # Equivalent to let "a = a + 5" # (Double quotes and spaces make it more readable.) echo "11 + 5 = $a"
java - 各位相加 O(1)
给出一个非负整数 num,反复的将所有位上的数字相加,直到得到一个一位的整数。 您在真实的面试中是否遇到过这个题?  Yes 样例 给出 num = 38。 相加的过程如下:3 + 8 = 11,1 + 1 = 2。因为 2 只剩下一个数字,所以返回 2。 挑战  你可以不用任何的循环或者递归算法,在 O(1) 的时间内解决这个
SH脚本入门总结
把学到sh脚本相关知识总结如下: #!/bin/bash  注明用什么运行 #!/bin/sh  Chmod +xfilename 使得脚本有权限执行 变量名不需要定义,直接赋值使用双引号,lua脚本和sh脚本都是这样的,也可以使用语句赋值,需要使用单引号。 使用变量的时候需要加上${变量名},括弧是为了让解释器识别变量的边界值,赋值变量的时候不需要加上$。 Readonlyvar
对wget简单封装shell脚本
对wget简单封装shell脚本 文章地址: http://blog.csdn.net/5iasp/article/details/8862303 作者: javaboy2012 Email:yanek@163.com qq:    1046011462     作用: 抓取某个url数据内容保存到指定目录的指定文件中 mywget.sh #!/bin/sh url
Shell脚本中各种括号用法
一、小括号,圆括号() 1、单小括号 ()   ①命令组。括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。   ②命令替换。等同于`cmd`,shell扫描一遍命令行,发现了(cmd)结构,便将(cmd)结构,便将(cmd)中的cmd执行一次,得到其标准输出,再将此输出放到原
258. 各位相加
给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。 示例: 输入: 38 输出: 2 解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2。 由于 2 是一位数,所以返回 2。 进阶: 你可以不使用循环或者递归,且在 O(1) 时间复杂度内解决这个问题吗? class Solution { public: int addDigits(...
Shell脚本中调用另外一个脚本的方法
在Linux平台上开发,经常会在console(控制台)上执行另外一个脚本文件,经常用的方法有:./my.sh 或 source my.sh 或 . my.sh;这三种方法有什么不同呢?我们先来了解一下在一个shell脚本中如何调用另外一个shell脚本,其方法有 fork    exec    source。 1、fork  ( /directory/script.sh) : 如果s