Thread Zeilen löschen aus Array, wenn bestimmte Strings enthalten (17 answers)
Opened by cohama at 2012-05-14 13:40

Linuxer
 2012-05-15 10:31
#158368 #158368
User since
2006-01-27
3875 Artikel
HausmeisterIn

user image
So, nun habe ich auch wieder eine richtige Tastatur zur Verfügung.

Mit dem folgenden Schema solltest Du die vorgefilterten Daten in @data filtern können, und alle Elemente, die dem Regex entsprechen, werden NICHT ! an @clean_data weitergereicht.

Code (perl): (dl )
1
2
3
my $regex = qr{WLAN|UND|ANDERES|UNINTERESSANTES};
#my @clean_data = grep { ! $regex }  @data;           # so nicht!
my @clean_data = grep { ! m/$regex/ }  @data;



Aber wenn die Zeilen mit "WLAN" generell uninteressant sind, warum dann erst die Arbeit machen, die Zeilen mit aufzunehmen und anschließend wieder rauszuwerfen? Wie von GwenDragon vorgeschlagen, zeilenweise auslesen und die uninteressanten Zeilen direkt ignorieren. Die interessanten Zeilen können dann nach weiteren Kriterien (user.err, user.crit, ...) zugeordnet werden.

edit: Code fixed
Last edited: 2012-05-23 13:49:38 +0200 (CEST)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Zeilen löschen aus Array, wenn bestimmte Strings enthalten