[PLUTO-help] aiuto con le regex

sabpll a libero.it sabpll a libero.it
Mer 7 Lug 2004 22:50:26 CEST


Alle 11:46, mercoledì 7 luglio 2004, David ha scritto:
> grep -E '^......$' dizionario.txt | grep -E '[a-z]([a-z])([a-z])\2\1'
> me ne ritorna un po'. Perche` nella prima regex non ha "capito" che doveva
> essere lunga 5 lettere?

Il primo grep seleziona le parole di _sei_  ( 6 ) lettere, non cinque.

> Poi ancora, nel primo "membro" del pipe perche` se avessi messo n punti mi
> avrebbe trovato le parole non di n lettere ma di n-1?

Non capisco; questo non c'entra niente con grep.
Piuttosto, sei sicuro del formanto del file "dizionario.txt"?
Cioè, è composto da parole italiane, una per riga e le righe
sono terminate da LF?
Non è che è righe sono terminate da CR+LF?
In questo caso può essere che CR venga interpretato come
facente parte della parola, da qui il comportamento strano.

> Poi altra domanda che mi ha portato alla necessita` di usare AND:
> Tra le parole ritornate ho alcune tipo ABAAB mentre io voglio che la terza
> e la quarta lettere siano si` uguali fra loro ma diversa dalla prima

In questo caso devi usare due grep in cascata attraverso un pipe,
la prima cerca le stringhe "XABBA" la seconda, con l'opzione -v,
elimina le stringhe "BABBA"
Altrimenti potresti usare sed; non sono sicuro ma può darsi
che non sia più lento.
-- 
Sabatino
......
Non voglio i mille baci che diede Lesbia a Catullo,
pochi baci vuole chi riesce a contarli.
				M. Valerio Marziale
				  (versione libera)


More information about the pluto-help mailing list