Re: ls | grep
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.
Reply to:
- References:
- ls | grep
- From: Al Bogner <debian@ml05a.pinguin.uni.cc>
- Re: ls | grep
- From: Al Bogner <debian@ml05a.pinguin.uni.cc>
- Re: ls | grep
- From: Daniel Leidert <daniel.leidert.spam@gmx.net>
- Re: ls | grep
- From: Al Bogner <debian@ml05a.pinguin.uni.cc>