[英]How to remove lines with repeated value from a text file
我在一個列中有一個包含各種代碼(每行一個代碼)的文本文件,其中一些出現了多次(總是按順序)。 我想知道如何刪除具有重復值的行。
示例:File1.dat
84578
84581
84627
84761
84761
84792
84792
84792
84886
84886
84905
84905
84905
我希望輸出為:
84578
84581
84627
84761
84792
84886
84905
注意:在我的文件中,行之間沒有空格。 任何解決方案都可以使用,腳本,終端命令等。在此先感謝。
由於重復的行是連續的,因此在Linux / MSYS中,您可以簡單地使用uniq
輸出數據:
$ uniq lines.txt
84578
84581
84627
84761
84792
84886
84905
Python解決方案,使用生成器理解來檢查第一行或第二行是否與上一行不同,以在輸出文件中發布該行:
with open("lines.txt") as fr,open("uniq.txt","w") as fw:
for line in (x for i,x in enumerate(fr) if i==0 or lines[i-1]!=x):
fw.write(line)
file = open("FileWithDublicates.txt","r");
lines = file.readlines()
lines = set(lines)
file.close
file = open("FileWithDublicates.txt","w");
for line in lines:
file.write(line)
這應該可以解決問題。 但換行符也只會存在一次
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.