Ich würde für so eine aufgabe keine statisch getypte sprache wie java oder c# empfehlen, sondern eine 'scriptsprache' (was immer dieses wort auch bedeuten mag)
Grund dafür ist einfach, dass solche sprachen von haus aus über starke möglichkeiten zur textverarbeitung verfügen und die entwicklungszeit wesentlich kürzer wird.
die sprachen ruby, python und perl sind (z.b) alle sehr gut dafür geeignet.
ruby und python sind sehr elegant, perl vermutlich am performantesten. Allerdings denke ich nicht dass die sprache hier so grosse auswirklungen auf die laufzeit hat, das es wirklich relevant für dich wird.
ein grober ansatz, um in ruby doppelte zeilen rauszufiltern (ohne leere columns zu berücksichtigenb usw.) sähe z.b so aus:
lines = []
IO.readlines("t.csv").each do |line|
unless lines.include? line
print line
lines << line
end
end
oder in python:
lines = []
for line in open('t.csv'):
if not line in lines:
print line
lines.append(line)
das allein wäre in java oder c# schon um einiges aufwendiger und unübersichtlicher zu implementieren.