On 1 Mar 2002 at 17:12, Nando Santagata wrote:
> > On Fri, Mar 01, 2002 at 03:33:59PM +0100, Ivan Sergio Borgonovo wrote:
> > > che c'è che non va in
> > > sed -n -e '/[0-9]+/p'
> > > rispetto a
> > > sed -n -e '/[0-9]\{1,\}/p'
> > > Dove mi sono sognato il +?
> Si`, le supporta. Il problema e` il set di caratteri da escapare:
Ok dato di fatto che funziona... come mai il + si e * e . no?
In fondo sono sintatticamente equivalenti?
sed -n -e '/[0-9]*/p'
sed -n -e '/index\..?htm./p'
se voglio il literal . escapo
se voglio lo special . char (un qualunque char) non escapo
se voglio il literal * escapo
se voglio lo special * char (0 o più dei precedenti) non escapo
la logica di + è invece invertita...
se voglio il literal non escapo
se voglio lo special char (1 o più dei precedenti) escapo
Non solo... interpretati literal in bash
mkdir pippo*pluto è OK
mkdir pippo+pluto è OK
mkdir pippo.pluto è OK
mkdir pippo* è OK
mkdir pippo** è OK
rmdir pippo* le secca tutte e 5
con
pippo
pippo++
pippo+++
pippo++pluto
cosa devo fare per seccare solo
pippo++
e
pippo+++
rmdir pippo\++ non funziona
rmdir pippo+\+ non funziona
COOL... perversione...
ma anche in grep, awk, perl, php... vattelapesca... o sono random i
caratteri da escapare?
Sono un po' contorte 'ste cose e io ho una memoria limitata.
Rimando la lettura di "Mastering RegExp" a dopo la scrittura del "FUKC"
script (flabbergasting universal kernel compiler)...
I buoni propositi non muoiono mai :)
Grazie, adesso me lo segno nel sed-bigio
--
Salve
Ivan Sergio Borgonovo
http://www.webthatworks.it/
|