PDA

View Full Version : [regularExpression] dubbio importante


toni00t
22-03-2014, 12:12
ciao ho un grosso problema con le regular expression :muro: :muro: :muro:

dati i file nella dir

1.txt
a
a.*
appppppppppj.txt
arpiero.txt
a.txt
col.txt
cool.txt
coooooooool.txt
il ppppp ddsa l.txt
kola.txt
p2
pall.txt
.....


il comando ls | grep a.*
non mi restituisce nulla , mentre io gli sto dicendo a seguito da qualsiasi carattere ripetuto 0 o pių volte

mentre
ls | grep "a.*" restituisce 9 risultati

a
a.*
appppppppppj.txt
arpiero.txt
a.txt
il ppppp ddsa l.txt
kola.txt
pall.txt




e ls | egrep "a.{3}" restituisce 6 risultati


appppppppppj.txt
arpiero.txt
a.txt
il ppppp ddsa l.txt
kola.txt
pall.txt



per quale motivo sono costretto a mettere il double quoting con le regular expression? quando č obbligatorio usarlo?
perchč io impongo a grep 3 occorrenze del carattere che precede e lui mi trova ad esempio arpiero.txt che di occorrenze di r n ha solo una ?
quando scrivo una regular expression i metacaratteri della shell perdono il loro significato no? es * nella shell significa qualsiasi stringa, mentre nella regular expression
qualsiasi occorrenza del carattere che precede

grazie

Bat-man
27-03-2014, 13:28
Dai un' occhiata qui, ti dovrebbe chiarire un po le idee.

http://linux.collectiontricks.it/wiki/Guida_ai_comandi_base_della_shell_in_GNU/Linux#Manipolare_l.27output_di_un_comando_con_grep_e_tail