所以我有一個file1.txt與一個名稱列表和一個file2.txt與另一個名稱列表,我需要一個列表與兩個文件中的名稱。找到另一個文件中的行
我試過grep-f file1.txt file2.txt > newlist.txt
但由於某種原因,它不起作用,newlist.txt的名稱不在file1中。
有誰知道爲什麼會發生這種情況,我能做些什麼才能得到兩個名單上的名字?
謝謝。
所以我有一個file1.txt與一個名稱列表和一個file2.txt與另一個名稱列表,我需要一個列表與兩個文件中的名稱。找到另一個文件中的行
我試過grep-f file1.txt file2.txt > newlist.txt
但由於某種原因,它不起作用,newlist.txt的名稱不在file1中。
有誰知道爲什麼會發生這種情況,我能做些什麼才能得到兩個名單上的名字?
謝謝。
如果每個列表中的每個名稱是唯一的,那麼你就可以找到他們的交集,如下所示:
sort file1.txt file2.txt | uniq -d > newlist.txt
如果FILE1.TXT和FILE2.TXT進行排序,也可以使用「通訊」
comm -12 file1.txt file2.txt > newlist.txt
或'comm -12 <(排序file1.txt)<(排序file2.txt)''如果沒有排序... – Sundeep
你的grep -f file1.txt file2.txt > newlist.txt
是一個不錯的想法,但是當file1.txt具有「s10」和file2.txt具有「slass100」時會產生太多的命中。你要匹配的完整產品線,所以儘量
grep -Fxf file1.txt file2.txt > newlist.txt
這應該是比首先需要排序的解決方案更快。
這些文件的內容是什麼? –
[Unix命令查找兩個文件中常見的行的可能的重複](https://stackoverflow.com/questions/373810/unix-command-to-find-lines-common-in-two-files) – tripleee