我有 100 个文本文件,每个文件都包含单列。文件如下:
file1.txt
10032
19873
18326
file2.txt
10032
19873
11254
file3.txt
15478
10032
11254
等等。 每个文件的大小是不同的。 请告诉我如何找到所有这 100 个文件中常见的数字。
最佳答案
无论同一个数字是否可以在 1 个文件中多次出现,这都会起作用:
$ awk '{a[$0][ARGIND]} END{for (i in a) if (length(a[i])==ARGIND) print i}' file[123]
10032
上面使用 GNU awk 来处理真正的多维数组和 ARGIND。如有必要,可以对其他 awk 进行简单的调整,例如:
$ awk '!seen[$0,FILENAME]++{a[$0]++} END{for (i in a) if (a[i]==ARGC-1) print i}' file[123]
10032
如果每个文件中的数字是唯一的,那么您只需要:
$ awk '(++c[$0])==(ARGC-1)' file*
10032
关于awk - 在包含单列值的多个文件中查找共同值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43472246/