找到一个文件中包含的线字符串并替换为Shell脚本中的第二个文件



我正在尝试找到解决以下问题的解决方案:

我有两个文件:即file1和file2。在file1中,有一些关键词的行,我想通过使用键单词在文件2中找到这些行。一旦找到文件2中的关键词,我想用file1中同一行的内容更新此行。该操作应针对File1中包含的每行完成。

只是我想到的一个示例,但我不知道如何在shell脚本命令中转换。

file1:
key1=new_value1
key2=new_value2
key3=new_value3
etc....
file2:
key1=value1
key2=value2
key3=value3
key4=value4
key5=value5
key6=value6
etc....

Result:
key1=new_value1
key2=new_value2
key3=new_value3
key4=value4
key5=value5
key6=value6
etc....

我不知道如何使用" SED"或Shell脚本中的其他内容来完成此任务。欢迎任何帮助。

谢谢

awk将是我的首选

awk -F= -v OFS== '
    NR==FNR {new[$1]=$2; next} 
    $1 in new {$2=new[$1]} 
    {print}
' file1 file2

相关内容

  • 没有找到相关文章

最新更新