我有一个两部分的awk问题:
在第一部分:我想比较两个文件的第二列。如果匹配,则在输出文件中打印相应的值。
在第二部分:我也需要相反的信息。同样,我想比较来自相同两个文件的第二列。如果有一个唯一的字符串值(意味着出现在文件 1 的第 2 列中而不是出现在文件 2 的第 2 列中的内容)。
解决第一部分:我使用了以下awk
awk 'NR==FNR { a[$1]=$2; next} $1 in a {print $0, a[$1]}' File2 File1
在这里找到,这似乎解决了识别匹配值的问题。
但是,我似乎找不到从文件 1 中识别唯一信息并将其打印到第三个输出文件中的解决方案。谁能提供有关如何解决此问题的任何见解?
输入示例如下:
文件 1
A concept1 123
A concept2 123
A concept1 123
A concept1 123
A concept3 123
文件 2
B concept1 456
B concept4 456
B concept5 456
B concept1 456
B concept3 456
输出文件 3
concept4
concept5
谢谢你。
更新:在原始文件中,我提出了将 1 个文件与另一个文件进行比较的问题。是否可以修改此代码以将 1 个文件与多个其他文件进行比较?
例如:
输入:将 FILE1 与 FILE2、FILE3、FILE4...FILEn 进行比较的任何唯一行 输出:文件与来自 FILE1 的所有唯一行。