以下是一个使用AWK命令的示例,可以显示两个文件中的两列,其中第二列具有唯一数据:
awk 'FNR==NR{seen[$2]++; next} seen[$2]==1' file1.txt file2.txt
假设我们有两个文件file1.txt和file2.txt,它们的内容如下:
file1.txt:
John 123
Alice 456
Bob 789
file2.txt:
Alice 789
John 456
Bob 123
输出结果将是:
Alice 789
John 456
Bob 123
解释:
首先,我们使用FNR==NR条件来读取第一个文件file1.txt。FNR表示当前行号,NR表示总行号。当这两个值相等时,表示我们正在处理第一个文件。
在第一个文件中,我们使用seen[$2]++来记录第二列的出现次数。这将创建一个关联数组seen,以第二列的值作为索引,并将对应的值加1。
接下来,我们使用next命令跳到下一行,以便继续处理下一个输入行。
当处理第二个文件file2.txt时,FNR==NR条件不再成立,我们进入第二个代码块。
在第二个代码块中,我们使用seen[$2]==1条件来检查第二列的出现次数。只有当第二列的值在第一个文件中只出现了一次时,才会被打印出来。
注意:在使用AWK之前,请确保您已经安装了AWK解释器。