簡體   English   中英

在一個已排序和一個未排序的文本文件中查找相同的行,並在未排序的文件中保持順序

[英]Finding the identical lines in one sorted and one unsorted text file, keeping the order in the unsorted file

我有兩個文本文件,每個文件每行一個單詞。 作為參考,第一個文件包含一個有限的唯一單詞列表,第二個文件是一個較長的文件,其中包含許多單詞,其中許多是重復出現的。

我的目標是保留第二個文件中存在於第一個文件(單詞表)中的所有單詞,並刪除所有其他單詞。 單詞列表中的單詞已排序,但我遇到的問題是我希望第二個文件中的單詞按照它們所在的順序排列,這是未排序的。 據我所知,這不會使用“comm”命令,該命令似乎需要排序列表來查找兩個文件之間的沖突。

是否可以使用另一個實用程序來實現我的目標,或者有沒有辦法使用 comm 按照它們在第二個文件中出現的順序實際 output 聯合詞?

我可以使用其他實用程序來實現我的目標嗎

是的,有無窮無盡的編程語言和實用程序。 通常在 linux 環境中,人們會編寫一個awk腳本。

有沒有辦法使用 comm 來實際 output 聯合詞按照它們出現在第二個文件中的順序?

不,但是有join :您可以對要保留順序的文件的行nl -w1進行編號,然后對第二個字段進行sort ,然后join -o1.1,1.2與排序的其他文件連接起來,然后重新sort行號並使用cut刪除行號 - 由於行號,原始行順序被保留。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM