我有幾個由不同的人生成的大型文本文件。這些文件包含每行一個標題的列表。每個句子都是不同的,但據稱是指未知的項目。查找文本文件中至少有兩個共同字(Bash)的所有行
鑑於格式和措辭不同,我嘗試生成一個較短的文件,可能匹配人工檢查。我是Bash的新手,我嘗試了幾個命令來比較每一行與兩個或多個共同關鍵詞的標題。應避免區分大小寫,超過4個字符的關鍵詞排除文章等。
例子:
輸入文本文件#1
Investigating Amusing King : Expl and/in the Proletariat
Managing Self-Confident Legacy: The Harlem Renaissance and/in the Abject
Inventing Sarcastic Silence: The Harlem Renaissance and/in the Invader
Inventing Random Ethos: The Harlem Renaissance and/in the Marginalized
Loss: Supplementing Transgressive Production and Assimilation
輸入文本文件#2
Loss: Judging Foolhardy Historicism and Homosexuality
Loss: Developping Homophobic Textuality and Outrage
Loss: Supplement of transgressive production
Loss: Questioning Diligent Verbiage and Mythos
Me Against You: Transgressing Easygoing Materialism and Dialectic
輸出文本文件
File #1-->Loss: Supplementing Transgressive Production and Assimilation
File #2-->Loss: Supplement of transgressive production
到目前爲止,我已經能夠除草 出了幾個副本具有完全相同的條目...
cat FILE_num*.txt | sort | uniq -d > berbatim_duplicates.txt
...等少數其中有括號
cat FILE_num*.txt | sort | cut -d "{" -f2 | cut -d "}" -f1 | uniq -d > same_annotations.txt
,看起來非常有前途的命令是找到正則表達式之間是相同的註解,但我無法使其工作。
在此先感謝。
我不認爲這個問題很適合'bash' - 當然不是一行!考慮使用像Python這樣的腳本語言,以便您可以更輕鬆地跟蹤每個文件中的行。 –
好吧,你會如此友善地爲我提供一個示例或一些指示開始。 thx – bcnguy
必須有兩個共同的關鍵詞,但在你的例子「補充」==「補充」 – Labo