On Sat, Jan 07, 2006 at 08:49:55PM +0100, Al Bogner wrote: > > > warum wurde der _ "herausgehoben"? > > Ich meinte, so wie ich es in > http://lists.debian.org/debian-user-german/2006/01/msg00567.html verwendet > habe. Die Anforderungen haben sich zwar mittlerweile etwas vertieft, aber > > find -maxdepth 1 -type d ! -regex ".*[_cd|_ef]$" -printf "%f\n" funktionierte > und das nicht: > find -maxdepth 1 ! -regex ".*_[cd|ef]$" -printf "%f\n"
Das liegt ganz einfach daran, dass runde und eckige Klammern für verschiedene Zwecke verwendet werden. Um *ein* Zeichen aus einer Liste von meherern Zeichen zu matchen, setzt man diese Liste in eckige Klammern. Mit runden Klammern können Ausdrücke gruppiert werden, um z.B. Alternativen zu formulieren. ".*_[cd|ef]$" null oder mehr beliebige Zeichen (.*), gefolgt von '_', gefolgt von 'c', 'd', '|', 'e', oder 'f', am Zeilenende. ".*[_cd|_ef]$" null oder mehr beliebige Zeichen (.*), gefolgt von '_', 'c', 'd', '|', 'e', oder 'f', am Zeilenende. Der zweite Unterstrich in eckigen Klammern ist überflüssig, da er ja schon am Anfang der Liste steht. ".*_\(cd\|ef\)$" null oder mehr beliebige Zeichen, gefolgt von '_', gefolgt von *entweder* 'cd' *oder* 'ef', am Zeilenende. > Al Gruß, f -- Gravity is a myth, the Earth sucks. -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)