Linuxtrent: Re: problema con sed e varibili

  • From: Flavio Stanchina <flavio.stanchina@xxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Sun, 14 Oct 2001 14:19:02 +0200

On Sunday 14 October 2001 13:45, MaX wrote:

> > Ti stai confondendo. Devi usare:
> >
> > sed s/ciao/$HOME/g
> >
>
> è quelo cheo ho fatto inizialmente, ma mi da questo errore
>
> bash-2.03$ cat A | sed s/ciao/$HOME/g
> sed: -e expression #1, char 9: Unknown option to 's'
> bash-2.03$
>
> ¿¿¿¿¿?????
>
> Sed non digerisce il $ quindi neanche interpreta a variabile.
> mi sa che non si puó....

Vi state perdendo in un bicchier d'acqua. ;)

$HOME contiene dei /, quindi il tuo comando diventa qualcosa come

  sed s/ciao//home/max/g

Ci sono due possibili soluzioni:
1) "escappare" gli slash nella variabile
2) usare un altro carattere per separare i parametri del comando 's':
   ad esempio, sed s-ciao-$HOME-g
   (però avrai lo stesso problema se $HOME contiene quel carattere)

Non so se esiste una funzione che espande una variabile in modo "sicuro" 
aggiungendo \ di fronte a slash, apici e quant'altro.

-- 
Ciao,
    Flavio Stanchina
    Trento - Italy

"The best defense against logic is ignorance."
-- 
PROSSIMA ASSEMBLEA: venerdi` 19 ottobre 2001 20:30 a Madrano di Pergine.

Per iscriversi  (o disiscriversi), basta spedire un  messaggio con SOGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxxxxxx


Other related posts: