我有一个参数文件,它是一个文本文件 - 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
最佳答案
创建文件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
关于unix - 在 UNIX 中查找并更改文本值中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10691656/