Thread Zeilen in Datei vergleichen, doppelte löschen?! (5 answers)
Opened by yasukatakaya at 2008-04-22 10:57

yasukatakaya
 2008-04-22 10:57
#108683 #108683
User since
2007-05-31
68 Artikel
BenutzerIn
[default_avatar]
Hallo,
ich habe folgedendes Problem ich will eine Datei nach doppelten Zeilen durchsuchen, wenn eine Zeile gleich der anderen ist, soll eine davon gelöscht werden, in der Datei kommt so z.B. das Wort r1233 mehrmals vor!
Die Datei kann so aussehen:
Code: (dl )
1
2
3
4
5
6
r1233
r1456
r1233
r1233
r9786
etc.


Soll danach so aussehen:
Code: (dl )
1
2
3
4
r1233
r1456
r9786
etc.


Ich hab folgendes probiert, aber klappt irgendwie nicht?
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
	
open (INPUT,"<YES_$ziel.txt") || die $!;

while (<INPUT>)
{
foreach $doppelt1 ($_ =~ /\w{1,2}\d{4}/g)
{
open (INPUT2,"<YES_$ziel.txt") || die $!;
open (OUTPUT2,">YES_$ziel.txt") or die "konnte $ziel nicht oeffnen,$!\n";

while (<INPUT2>)
{
foreach $doppelt2 ($_ =~ /\w{1,2}\d{4}/g)
{
#print "$doppelt2\n";
#wenn $doppelt1 und $doppelt2 gleich sind, dann soll eins davon gelöscht werden
if($doppelt1 eq $doppelt2)
{
unlink $doppelt2;
}
else
{
print OUTPUT2 "$doppelt1\n";
}
}
}
close INPUT2;
}
}
close INPUT;

Ich hoffe mir kann jemand weiterhelfen, ich danke schonmal im Voraus!

View full thread Zeilen in Datei vergleichen, doppelte löschen?!