从表中读取vaues并使用bash编辑具有该值的文本文件

从表中读取vaues并使用bash编辑具有该值的文本文件,bash,text,edit,Bash,Text,Edit,嗨,我是一个初学者,正在学习bash脚本 我有两个文件,一个是数据表data.dat,另一个是文本文件input.in data.dat看起来像这样 a b c d 1 2 3 4 5 6 7 8 1 3 5 7 2 4 6 8 input.in看起来像 rc duct.gz fi as df 500 def bc pff p 1 n 2 n 3 n 4 n n n def bc po p 1 n 2 y n n n 现在,我想用表中的5 6 7 8替换文本文件(如1 2 3 4)中的

嗨,我是一个初学者,正在学习bash脚本

我有两个文件,一个是数据表data.dat,另一个是文本文件input.in

data.dat看起来像这样

a b c d 
1 2 3 4
5 6 7 8
1 3 5 7
2 4 6 8
input.in看起来像

rc duct.gz
fi as df 500
def bc pff p 1 n 2 n 3 n 4 n n n 
def bc po p 1 n 2 y n n n 
现在,我想用表中的5 6 7 8替换文本文件(如1 2 3 4)中的值,并用其他名称input2.in保存文本文件 下一次1234应该替换为1357,并保存为其他名称input3.in 这样做直到完成表格

提示:

a=4
line="this is line with parameter a=$a"
eval echo ${line}
编辑:扩展答案。 您需要两个嵌套循环。在external one中,您可以将data.dat中的值读入a、b、c和d变量。内部文件读取文件input.in,对于每个读取行,您需要使用eval echo显示它。只需确保将$a、$b、$c和$d放在适当的位置,如:

def bc pff p $a n $b n $c n $d n n n

非常感谢您的帮助,到目前为止,我所理解的是逐行读取表格,并将值存储在变量中,就像这样,在读取b c d do echo“a:$a”echo“b:$b”echo“c:$c”echo“d:$d”时是否正确done