2

テキストファイルであるパラメーターファイルがあります-bug.par、変数の名前とその値としていくつかのパラメーター値がリストされています。例:

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

たとえば、par5が20、30に等しい2つの追加ファイルなど、異なるpar5を持つ新しいファイルを作成したいだけです。他のパラメータは一定です。

# 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

file1を作成するには:

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

file2を作成するには:

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 に答える