在 Bash 脚本中使用 sed 创建 3 个新的 python 文件
Creating 3 new python files using sed in Bash script
我需要用 3 个不同的数字替换 python 文件中的单个值 dt=DELTAT。对于我想创建一个新文件的每个数字,让我们将它们命名为 file1.py、file2.py 和 file3.py 这是我的尝试。变量 dt 只在 python 文件中出现一次,所以这应该很容易,但我似乎不太明白。原始文件是 lorenz_x.py
for k in {1..3};do
for i in 0.0001 0.0005 0.001;
do
sed -i -e "s/DELTAT/i/g" "$lorenz_x.py" > lorenzk_x.py/?k[]=i
done
done
感谢您的帮助!
我原以为会有 3 个新文件,就像我在上面命名的那样,但我却得到了
lorenz.txt:第 4 行:lorenzk_x.py/?k[]=i:没有那个文件或目录。
我使用 vi lorenz.txt 创建文件,然后 bash lorenz.txt 运行 创建文件。请注意 .txt 在 linux 中与此处无关,我的新文件名将具有扩展名 .py
这当然比你正在尝试的骗局好得多。
import sys
if len(sys.argv) < 2:
print( "You must pass DELTAT as a float argument." )
sys.exit(-1)
DELTAT = float(sys.argv[1])
...
...
请您尝试以下操作:
#!/bin/bash
for i in 0.0001 0.0005 0.001; do
((k++))
sed -e "s/DELTAT/$i/g" lorenz_x.py > "lorenz${k}_x.py"
done
将代码 avobe 保存为 lorenz.sh
(或任何名称),并将 运行 保存为 bash lorenz.sh
。则生成lorenz1_x.py、lorenz2_x.py、lorenz3_x.py三个文件,并分别代入相应的数字
我需要用 3 个不同的数字替换 python 文件中的单个值 dt=DELTAT。对于我想创建一个新文件的每个数字,让我们将它们命名为 file1.py、file2.py 和 file3.py 这是我的尝试。变量 dt 只在 python 文件中出现一次,所以这应该很容易,但我似乎不太明白。原始文件是 lorenz_x.py
for k in {1..3};do
for i in 0.0001 0.0005 0.001;
do
sed -i -e "s/DELTAT/i/g" "$lorenz_x.py" > lorenzk_x.py/?k[]=i
done
done
感谢您的帮助!
我原以为会有 3 个新文件,就像我在上面命名的那样,但我却得到了 lorenz.txt:第 4 行:lorenzk_x.py/?k[]=i:没有那个文件或目录。
我使用 vi lorenz.txt 创建文件,然后 bash lorenz.txt 运行 创建文件。请注意 .txt 在 linux 中与此处无关,我的新文件名将具有扩展名 .py
这当然比你正在尝试的骗局好得多。
import sys
if len(sys.argv) < 2:
print( "You must pass DELTAT as a float argument." )
sys.exit(-1)
DELTAT = float(sys.argv[1])
...
...
请您尝试以下操作:
#!/bin/bash
for i in 0.0001 0.0005 0.001; do
((k++))
sed -e "s/DELTAT/$i/g" lorenz_x.py > "lorenz${k}_x.py"
done
将代码 avobe 保存为 lorenz.sh
(或任何名称),并将 运行 保存为 bash lorenz.sh
。则生成lorenz1_x.py、lorenz2_x.py、lorenz3_x.py三个文件,并分别代入相应的数字