linux – 在两个不同的文件中显示重复的行

我有两个文件,我想显示重复的行.我试过这个,但它不起作用:

 cat id1.txt |读取ID;做grep“$id”id2.txt; DONE

我想知道是否有任何其他方式来显示文件中的重复行.
我的两个文件都包含id列表.
谢谢.

最佳答案
文件是否已排序?它们可以分类吗?

如果排序:

comm -12 id1.txt id2.txt

如果没有排序但使用bash 4.x:

comm -12 <(sort id1.txt) <(sort id2.txt)

如果您没有bash 4.x和‘process substitution’,则有使用临时文件的解决方案.

你也可以使用grep -F:

grep -F -f id1.txt id2.txt

这将查找id2.txt中出现在id2.txt中的单词.这里唯一的问题是确保ID 1与每个包含1的ID不匹配.某些版本的grep中提供的-w或-x选项可在此处使用.

相关文章

linux常用进程通信方式包括管道(pipe)、有名管道(FIFO)、...
Linux性能观测工具按类别可分为系统级别和进程级别,系统级别...
本文详细介绍了curl命令基础和高级用法,包括跳过https的证书...
本文包含作者工作中常用到的一些命令,用于诊断网络、磁盘占满...
linux的平均负载表示运行态和就绪态及不可中断状态(正在io)的...
CPU上下文频繁切换会导致系统性能下降,切换分为进程切换、线...