Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
[Perl] grep [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
[Perl] grep


 
Damian1984
11-11-2008, 18:54 
 
Hallo.

ich habe ein kleines Problem mit einem Grep.
Folgender Zustand ist zur Zeit in einem perl-Script:


my @dirEntries = grep {/^[^\.\_]/} readdir CURDIR;

Dies Speichert mir alle Oder und Dateien in @dirEntries, die nicht mit . oder _ anfangen.
Jetzt möchte ich das so ändern, dass nur . .. und alle Dateien und Ordner mit _ am Anfang ausgeschloßen werden.

Ich sehe wohl den Baum vor lauter Bäume nicht.
Versucht habe ich:

/^([^\.]{1,2})\|([^\_])/
/^([^\.]{1,2})$\|[^\_])/

und noch viel mehr.
sobald ein Oder im RegEx ist findet er einfach garnichts mehr -.-

Vlt. könnte mir ja jemand einen Tipp geben, wie ich das sinnvoll verbinden kann.

Vielen Dank.

 
TBT
11-11-2008, 19:12 
 
wieso entwertest du das "oder"?

\| sollte bestimmt | heißen

 
Damian1984
11-11-2008, 22:17 
 
Laut manpage ist das oder ein \| und kein |.
Und | geht defintiv nicht, da ich das anfangs auch hatte, bis ich die manpage gelesen habe :)

 
Damian1984
12-11-2008, 10:40 
 
Es musste natürlich eine UND Verknüpfung sein...
Wenns interessiert:

my @dirEntries = grep {/^([^\.]{1,2})|\.[\w\_]+/ && /^([^\_])/} readdir CURDIR;


und es soll auch | heißen. Das war wohl eine sehr veraltete Manpage mit dem \|.

Danke trotzdem :)


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:34 Uhr.