我必须合并两个文件,需要以下方面的帮助:
File1.csv
mac-test-2,10.57.8.2,Compliant
mac-test-6,10.57.8.6,Compliant
mac-test-12,10.57.8.12,Compliant
mac-test-17,10.57.8.17,Noncompliant
File2.csv
mac-test-17,10.57.8.17,2022-10-21
合并后,内容应为Merge.csv
mac-test-2,10.57.8.2,Compliant,NA
mac-test-6,10.57.8.6,Compliant,NA
mac-test-12,10.57.8.12,Compliant,NA
mac-test-17,10.57.8.17,Noncompliant,2022-10-21
因此,逻辑是如果File1.txt在File2.txt中没有匹配的记录,则应插入“NA”,如果匹配,则应在第四列中插入日期。
我在下面写了
awk -F "," '
ARGV[1] == FILENAME{a[$1];next}
{
if ($1 in a) {
print $0 ","
} else {
print $0 ",NA"
}
}
' File2.csv File1.csv
但这是印刷
mac-test-2,10.57.8.2,Compliant,NA
mac-test-6,10.57.8.6,Compliant,NA
mac-test-12,10.57.8.12,Compliant,NA
mac-test-17,10.57.8.17,Noncompliant,
我不确定如果日期匹配,如何打印。
1条答案
按热度按时间k4ymrczo1#
使用您展示的示例,请尝试以下
awk
代码。仅使用您展示的示例编写和测试。要处理空file2.csv,请尝试以下
awk
程序