我正在尝试找到以下问题的解决方案:
我有两个文件:即file1和file2。 在file1中有一些带有一些关键词的行,我想通过使用关键词在file2中找到这些行。一旦找到file2中的关键字,我想用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....
我不知道如何在shell脚本中使用'sed'或其他东西来完成此任务。 欢迎任何帮助。
谢谢
答案 0 :(得分:1)
awk将是我的第一选择
awk -F= -v OFS== '
NR==FNR {new[$1]=$2; next}
$1 in new {$2=new[$1]}
{print}
' file1 file2