假设我有:
text.txt 带有
1
2
3
4
5
另一个 text2.txt 内容如下
9
4
2
1
7
我想提取重复项:
2
1
4
注意:我使用的是 Windows,我希望它尽可能简单
答案1
我想提取重复项
使用以下命令行:
Findstr /i /x /g:text.txt text1.txt
在哪里:
/I
不区分大小写的搜索/X
打印完全匹配的行。/G:StringsFile
从文件中获取搜索字符串
来源:Findstr - 搜索字符串 - Windows CMD - SS64.com
例子:
F:\test>type text.txt
1
2
3
4
5
F:\test>type text1.txt
9
4
2
1
7
F:\test>Findstr /ixg:text.txt text1.txt
4
2
1
F:\test>Findstr /ixg:text1.txt text.txt
1
2
4
请注意,没有简单的方法可以按照问题中指定的顺序获取输出:
2
1
4
因为两个文件都不包含按该顺序排列的行。
进一步阅读
答案2
在 Unix 环境下(Windows 上为 cygwin),我首先对两个文件进行排序(sort text.txt > text.txt.sorted
第二个文件同上),然后使用comm -12 text.txt.sorted text2.txt.sorted