[Linuxtrent] Re: esperti di sed...

  • From: "Marco Ciampa" <ciampix@xxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Tue, 22 Jan 2008 11:47:45 +0100

On Tue, Jan 22, 2008 at 11:22:07AM +0100, Lele Gaifax wrote:
> On Tue, 22 Jan 2008 10:39:17 +0100
> "Marco Ciampa" <ciampix@xxxxxxxxx> wrote:
> 
> > Ho risolto (sembra) così:
> > 
> > CL="MARKERXYZ $(<./prova.txt) MARKERXYZ" 
> > CL=$(echo -n $CL | sed -e 's/MARKERXYZ.* \([0-9]\).*MARKERXYZ/\1/g')
> > 
> > ...
> >
> > brutto ma funziona.
> > 
> 
> Uhm... no comment! :-)
> 
> Ultima offerta:
> 
> $ echo '\
> dsdas dsad 1 asdsdfd
> 2asdasd dasdas das
> jlkj lkljkj 3
> jlij 4 ljk k5 asd
> ads55adsd' | while read line; do echo $line | \
>     sed -e 's/\(^\|[^[0-9]* \)\([0-9]\)\( [^[0-9]*\|$\)/\2/' | \
>     sed -e 's/^\([0-9]..*\|[^0-9].*\)//g'; done
> 1
> 
> 3
Quando riuscirò a scrivere cose come questa...:-)

Comunque, grazie all'altro suggerimento delle ancore, posso correggere il
mio tentativo per farlo funzionare realmente:

CL="A $(<./prova.txt) A"
CL=$(echo -n $CL | sed -ne 's/.* \([0-9]\) .*/\1/p')

così funziona ma l'esempio con le ancore è migliore anche perché funziona
anche con i tab.

grazie, ciao! 

-- 

Marco Ciampa

+--------------------+
| Linux User  #78271 |
| FSFE fellow   #364 |
+--------------------+
-- 
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: