我有兩個源文件(英文文件和意大利文件)與相同的行數,我執行awk command
刪除IT.txt文件中的所有行超過2個字使用awk刪除2個過濾文件中的重複項
EN.txt
Santa Claus
Pigs don't fly
The son of the father
Elf
Santa Claus
Elf
Sabatons
Shoes
IT.txt
Babbo Natale
I maiali non volano
Il figlio del padre
Elfo
Babbo Natale
Elfo
Scarpe
Scarpe
所以基本上我都有這樣的輸出:
EN.txt
Santa Claus
Pigs don't fly
The son of the father
Elf
Santa Claus
Elf
Sabatons
Shoes
IT.txt
Babbo Natale
Elfo
Babbo Natale
Elfo
Scarpe
Scarpe
但在同一時間,我想從EN.txt文件中刪除同一相關的字符串。我認爲我可以處理行號(稍後,我發現了一個更好的解決方案),而不是運行另一個awk命令,以相同的方式刪除EN文件中有兩個以上單詞的字符串,因爲翻譯可能與源字符串不同(比如有更多單詞)。所以我需要將我的工作重點放在IT文件上,並且EN文件必須受到我啓動的命令的影響。因此,我的濾波輸出必須是這樣的:
EN.txt
Santa Claus
Elf
Santa Claus
Elf
Sabatons
Shoes
IT.txt
Babbo Natale
Elfo
Babbo Natale
Elfo
Scarpe
Scarpe
這是我試圖用(建議用前面的問題)命令和它完美的作品:awk 'NR==FNR{if(NF>3){a[NR]}else{a[NR]=1;print > "filtered_it.txt"}} NR!=FNR && a[FNR]{print > "filtered_en.txt"}' IT.txt EN.txt
但現在我想添加額外的在這個命令中,像刪除重複項以獲得類似這樣的輸出,但要小心那些意大利語可能具有相同翻譯但它們各自的源字符串不同的行(如Sabatons和鞋翻譯爲Scarpe)。總之,我需要同時從兩個文件中刪除重複項(以某種方式),而不是從運行每個命令的單個文件中刪除重複項。
EN.txt
Santa Claus
Elf
Sabatons
Shoes
IT.txt
Babbo Natale
Elfo
Scarpe
Scarpe
這些主要數字是否真的出現在你的輸入和輸出文件中?如果是,那麼編輯你的問題來說明,如果沒有,那麼編輯你的問題來刪除它們。 –
完成...它僅用於理解;) – JohnnyKing94
將不存在於您的示例輸入/輸出文件中的文本放在一起並不能改進我們的理解! –