我有 2 个文件 File1.txt:
Column1 | Column2
username2 | timestamp
username1 | timestamp
username4 | timestamp
文件2.txt:
Column1 | Column2
username1 | timestamp
username3 | timestamp
username2 | timestamp
我想将它们具有匹配的 Column1 值的位置输出到仅显示 Column1 内容的新文件中。 Column1 中的这些值在 file1.txt 和 file2.txt 之间的顺序并不总是相同,并且两个文件中都会丢失一些条目。
输出-File3.txt
列1
用户名1
用户名2
答案1
使用awk
awk -F ' *| *' 'NR==FNR{a[$1];next}($1 in a)' file1 file2
该数组a
填充有第一个 file1 列的内容。解析下一个文件时,只会打印与条目数组匹配的行。
答案2
从两个文件中提取第 1 列,对其进行排序,然后找到重复的行:
cut -d" " -f1 File1.txt File2.txt | sort | uniq -d
答案3
在比较之前对两个文件进行排序
sort f1 > f1s
sort f2 > f2s
diff f1s f2s