2008/11/14 Alex <[EMAIL PROTECTED]>: > On Friday 14 November 2008 17:52, Petru Ratiu wrote: >> 2008/11/14 Alex <[EMAIL PROTECTED]>: >> > Din cite imi aduc aminte, la regexp, \s marcheaza un spatiu, iar \s+ >> > marcheaza mai multe spatii. eu vreau sa scot dintr-un fisier toate >> > liniile care incep cu unul sau mai multe spatii urmate de litera P >> > >> > Cum e corect: cu \s sau cu \s+, ca vad ca la mine ambele expresii produc >> > acelasi rezultat :-( >> >> [\s+] nu inseamna ce vrei tu sa insemne > > NU ESTE [\s+] ci [ \s+]!
Nu sunt corecte... Cel putin nu in modul pe care-l activezi cu grep -E. > Ai gasit bug-ul fara sa stii :-)). Deci, expresia corecta ar fi: grep -E > '^[ ]+[P]' test.txt sau ca tine fara extended regexp, grep '^[ ]\+P' > test.txt Cred ca esti un pic confuz. \s, in grep fara -P, nu inseamna nimic special. [:space:] intr-o expresie dintre paranteze patrate inseamna ce vrei tu sa zici prin \s, care, dupa cum a zis si Petre, este PCRE. man grep, vezi la REGULAR EXPRESSIONS si man regex pentru -E, perldoc perlre pentru PCRE. -- George-Cristian Bîrzan
_______________________________________________ RLUG mailing list [email protected] http://lists.lug.ro/mailman/listinfo/rlug
