Bash 如何查找两个匹配文件的总数

Bash 如何查找两个匹配文件的总数,bash,Bash,我有两个文本文件,比如 file1 1018 2 1019 7 1023 4 file2 1018 2 1019 7 1023 4 1026 8 我有一个小bash代码来查找匹配和计数 awk 'FNR==NR{a[$0]=1; next} $0 in a { count[$0]++ } END { for( i in a ) print i, count[i]}' file1 file2 我得到的输出 1018 2 1 1019 7 1 1023 4 1 我只想得到本

我有两个文本文件,比如

file1 
1018 2 
1019 7
1023 4

file2
1018 2 
1019 7
1023 4
1026 8
我有一个小bash代码来查找匹配和计数

awk 'FNR==NR{a[$0]=1; next} $0 in a { count[$0]++ } 
  END { for( i in a ) print i, count[i]}' file1 file2
我得到的输出

1018 2  1
1019 7  1
1023 4  1

我只想得到本例中的总计数:3。
在循环后打印计数很简单,但不起作用,任何解决方案……

当我在bash中有一个输出列表时,我将使用“wc”。WC进行字数计算,您可以指定它来计算行数。假设我想计算一个目录中的文件数。我会:

ls -lh | wc -l

您可以使用
sort
uniq
的组合来执行此操作。这就是它的样子:

cat file1 file2 | sort | uniq -d | wc -l
说明:

  • cat
    用于连接两个文件
  • sort
    用于对合并内容进行排序
  • uniq
    (带有选项
    -d
    )仅用于显示重复的行
  • wc
    (带有选项
    -l
    )正在计算左边的行数

结束{打印长度(a)}
?或者只是
count++
然后
END{print count}
请将预期输出添加到您的问题中。它计算文件1中的行数,即使它与文件2不匹配。。。。我希望它匹配的时间比它计数的时间长,并且在最后得到匹配的数量….
comm-12 file1 file2 | wc-l
。假设他们已经分类了。