2

我有一个参数文件,它是一个文本文件 - bug.par,其中几个参数值列为变量名称及其值。举个例子:

par1 123 
par2 234 
par3 11 12 4 15 
par4 15
par5 18
par6 1
par7 0.05

我只想创建具有不同 par5 的新文件(例如),例如 2 个 par5 等于 20、30 的附加文件。其他参数是恒定的。

# additional file1 with par value 20 
    par1 123 
    par2 234 
    par3 11 12 4 15 
    par4 15
    par5 20
    par6 1
    par7 0.05

# additional file1 with par value 30 
    par1 123 
    par2 234 
    par3 11 12 4 15 
    par4 15
    par5 30
    par6 1
    par7 0.05
4

1 回答 1

2

要创建文件 1:

sed 's/^ *\(par5\).*$/\1 20/' bug.par > file1

要创建文件 2:

sed 's/^ *\(par5\).*$/\1 30/' bug.par > file2

编辑:根据评论,运行一个循环:

# declare and initialize an array with 3 elements
declare -a arr=(20 30 40)

# iterate over array
for i in ${arr[@]}
do
    sed 's/^ *\(par5\).*$/\1 '$i'/' bug.par > file$i
done
于 2012-05-21T20:09:36.717 回答