[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ls | grep



Hallo Andreas,

On Sat, Jan 07, 2006 at 03:16:01PM +0100, Andreas Pakulat wrote:
> Ah, da hab ich grad wieder was gelernt, also vergiss die Kommentare
> bzgl. [] in meiner anderen Antwort. | hat offensichtlich hoehere
> Prioritaet und verliert seine spezielle Funktion in [] nicht. Aber bei
> mir funktioniert auch:

Die Pipe hat keine spezielle Funktion in []:

echo -ne "te_st\nte_|t\nte_tt\nte_xt" | grep "_[s|t]"
te_st
te_|t
te_tt

> andreas@morpheus:~>echo -ne "te_st\nyg_hj\ngh_gf" | grep "_[st|hj]"
> te_st
> yg_hj

Der reguläre Ausdruck matcht eine der Zeichenfolgen "_s", "_t", "_|",
"_h" oder "_j".

> Allerdings geht:
> andreas@morpheus:~>echo -ne "te_st\nyg_hj\ngh_gf" | grep "^.*_[st|hj]$"
> 
> nicht. Warum weiss ich so aber auch nicht.

Hier werden die gleichen Zeichenfolgen wie oben gematcht, aber nur dann,
wenn sie am Zeilenende stehen. Das ist in der Ausgabe von 'echo'
nirgends der Fall.

Mit 'grep --color=auto ...' kann man sich die Treffer übrigens einfärben
lassen ;-)

> Andreas

Gruß,

f
-- 
Gravity is a myth, the Earth sucks.



Reply to: