Thread In "grep" ZWEI Bedingungen erfüllen (23 answers)
Opened by Gast at 2007-04-20 16:56

Meo
 2007-04-20 20:37
#76089 #76089
User since
2007-04-20
12 Artikel
BenutzerIn
[default_avatar]
Die  Inhalte des Ausgangsarrays habe ich in einer Schleife mit "push" generiert
Beispiel:
Code: (dl )
push(@found,$Treffer."\t".$GanzeURL."\t".$IrgendeinText."\t".$DomainName)


Die einzelnen Daten habe ich darin mit TAB (."\t".) getrennt. Am Ende steht automatisch immer ein "\r".

Bei der Print-Ausgabe durch
Code: (dl )
1
2
3
4
for(@found) {
@output = split(/\t/,$_);
print "<p>Trefferanzahl: $output[0] - URL: $output[1] - Infotext: $output[2] - HauptDomain: $output[3]";
}

kommt zum Beispiel mit folgendes heraus:

Code: (dl )
1
2
3
4
Trefferanzahl: 14 - URL: [URL=http://www.domain-a.de/unterseite/]http://www.domain-a.de/unterseite/[/URL] - Infotext: Bla bla... - HauptDomain: www.domain-a.de
Trefferanzahl: 19 - URL: [URL=http://www.domain-b.de/unterseite/]http://www.domain-b.de/unterseite/[/URL] - Infotext: Bla bla... - HauptDomain: www.domain-b.de
Trefferanzahl: 16 - URL: [URL=http://www.domain-c.de/unterseite/]http://www.domain-c.de/unterseite/[/URL] - Infotext: Bla bla... - HauptDomain: www.domain-c.de
Trefferanzahl: 20 - URL: [URL=http://www.domain-c.de/unterseite/]http://www.domain-c.de/unterseite/[/URL] - Infotext: Bla bla... - HauptDomain: www.domain-c.de

usw.

Ich möchte das Array nun mit "grep" auf Doppelungen durchsuchen, wo nur die Datensätze entfernt werden, von denen bereits eine HauptDomain enthalten ist.
Eine HauptDomain muss immer erhalten bleiben. Welche wäre erst mal egal.

Ganz edel wäre natürlich die, mit der höchsten Trefferanzahl. Aber das könnte ich durch vorherige Sortierung auch selbst vorbereiten.

Im neuen Ziel-Array soll dann alles so geschrieben werden, wie das Array @found vorher aufgebaut war. Also alle restlichen Daten (wie Treffer usw.) und die Trennung mit TAB wäre wichtig erhalten zu lassen.

edit pq: code-tags hinzugefügt\n\n

<!--EDIT|pq|1177161031-->

View full thread In "grep" ZWEI Bedingungen erfüllen