![使用 awk 数组比较两个输入文件的列](https://linux22.com/image/161244/%E4%BD%BF%E7%94%A8%20awk%20%E6%95%B0%E7%BB%84%E6%AF%94%E8%BE%83%E4%B8%A4%E4%B8%AA%E8%BE%93%E5%85%A5%E6%96%87%E4%BB%B6%E7%9A%84%E5%88%97.png)
有人可以帮助我如何使用awk
或grep
命令获得下面的结果
igs811 莱纳斯> wc -l icc
11 icc
{81580003 PF12}
{90544829 PF10}
{81594316 PF10}
{81580003 PF10}
{70510135 PF10}
{81586919 PF11}
{81580000 PF11}
{81580000 PF11}
{81580000 PF11}
{81597367 PF12}
{70599713 PF12}
igs811 莱纳斯> wc -l icd
11 icd
{81580003 PF12}
{90544829 PF10}
{81594316 PF11}
{81580003 PF11}
{70510135 PF10}
{81586919 PF11}
{81580000 PF11}
{81580000 PF12}
{81580000 PF12}
{81597367 PF10}
{70599713 PF12}
(结果文件=仅打印低于 5 的 ICC,icd 上的 PF 错误,因此我可以更新数据库)最后,我仅使用这 5 进行更新
result_txt ={81594316 PF10}
{81580003 PF10}
{81580000 PF11}
{81580000 PF11}
{81597367 PF12}
我在下面使用但得到了错误的结果
awk 'NR==FNR {a[$1]=$2}; NR!=FNR {print $1,a[$1]}' icc icd >Result_file
答案1
diff
我们可以使用命令得到结果
diff --changed-group-format='%<' --unchanged-group-format='' icc icd
{81594316 PF10}
{81580003 PF10}
{81580000 PF11}
{81580000 PF11}
{81597367 PF12}