【发布时间】:2017-11-04 18:38:40
【问题描述】:
我有 100 个不同的脚本,名为 run_1.scr...run_100.scr。在每个脚本中,我都有一行写着:
python screening_regression.py
我想在 bash 中(或从命令行)创建一些代码,将用于 run_1.scr 的screening_regression.py 的名称更改为screening_regression1.py 和用于run_2.scr 的screening_regression2.py ...和screening_regression100。 py for run_100.scr。我不确定是否有一个简单的命令可以让我遍历所有 run_1.scr...run_100.scr 的文件并让我进入每个文件并增加每个脚本的 python 脚本名称打电话。有什么想法吗?
到目前为止,我只有一段循环文件的代码,但我不确定如何进入每个文件并按照我描述的方式更改 python 脚本名称:
#!/bin/bash
#for filename in /Data/run_*.scr; do
#go into file and change screening_regression.py to screening_regression1.py
#for the first file and then screening_regression2.py for second file etc.
#done
#num=1
for f in /home/mitche34/WIND_MOS/sub/run_screening_*.scr; do
#sed -i -e 's/(python screening_regression_1yr.py)/(python screening_regression_1yr$num.py)/g' "$f"
perl -i -lpe '($n)=$ARGV=~/\d+/g if $.==1\s/(python screening_regression_1yr)(.py)/$1$n$2/' "$f"
#num=num+1
done
【问题讨论】:
-
你最近做了什么?
-
我没有太多,但我用我有的东西在上面进行了编辑。
-
这是一个真的不好的方法。最好有一个仅包含可能更改的变量的文件,仅修改该文件,并让其他脚本读取它。这样您就可以将脚本(手动编写,永不更改)和数据文件(可能更新)分开。