我想知道如何在这种情况下使用替换。我有2个名为 myfile.txt 的文件& responsefile.txt 如下所示。
myfile.txt的
user=myname
user_1=yourname
group=mygroup
group_1=yourgroup
responsefile.txt
#Please fill the user id details.
user=
#user_1=
#Please fill the group id details.
group=
#group_1=
现在,在替换匹配模式后,使用以上两个文件希望得到以下最终结果。 responsefile.txt内容应该是完整的,只是匹配的模式应该以myfile.txt中提供的详细信息为前缀,或者只替换整个匹配行,因为两个文件中的模式都相同。
responsefile.txt(新文件已替换/替换为模式)
#Please fill the user id details.
user=myname
user_1=yourname
#Please fill the group id details.
group=mygroup
group_1=yourgroup
模式将没有哈希或哈希,因此必须删除匹配上的哈希。请注意,文件responsefile.txt的长度约为604L,16481C
请建议,希望有一个简单的解决方案,因为实际场景中的内容将有超过100个类似的模式。以上只是例如。
由于 Raajesh
答案 0 :(得分:0)
这个awk应该可以工作:
awk -F '=' 'FNR==NR{a[$1]=$2;next} !($1 in a){print} ($1 in a){print $0 a[$1]}' myfile.txt responsefile.txt
扩展形式:
awk -F '=' 'FNR == NR {
a[$1] = $2;
next
}
!($1 in a) {
print
}
($1 in a) {
print $0 a[$1]
}' myfile.txt responsefile.txt
<强>输出:强>
'#'Please fill the user id details.
'#'Here is example user=urname.
user==myname
'#'Please fill the group id details.
'#'Here is example group=urgroup.
group==mygroup