我想知道是否有任何有效的方法来逐行比较2个大文件。
文件1
2
3
2
文件2
2 | haha
3 | hoho
4 | hehe
我只是将每个文件的第一个字符与它们进行比较。目前我正在使用一种非常天真的方法在double for循环中迭代它们。
赞
For i in file 1:
line number = 0
For j in file 2:
loop until line number == counter else add 1 to line number
Compare line 1
increase counter
不能将两个文件都读入内存。我在linux上使用python,但我对bash解决方案和python脚本解决方案都很开放
答案 0 :(得分:2)
这样的事情:
diff <(cut -c 1 file1.txt) <(cut -c 1 file2.txt)
diff
是用于比较文件行的工具。您可以使用process substitution(匿名管道)来比较仅包含第一个字符的每个文件的版本(使用cut
)。
答案 1 :(得分:0)
您可以压缩这两个文件并将它们一起迭代。
df1 <- structure(list(Phone = c("Samsung note", "Samsung note",
"Nokia lumia",
"Sony xperia")), .Names = "Phone", class = "data.frame",
row.names = c(NA, -4L))
df2 <- structure(list(Phone = c("Samsung note", "Samsung note",
"Nokia lumia",
"Sony xperia", "Samsungnote", "Nokialumia")), .Names = "Phone",
class = "data.frame", row.names = c(NA, -6L))