Newsgroup: it.comp.os.linux.iniziare
Titolo: comando per sostituire una stringa di testo

Ciao ragazzi .. esiste un comando per sostituire una stringa di testo in
un file direttamente dalla linea di comando ?
volevo creare uno script che modificasse in un file l'indirizzo dinamico
che ogni volta mi viene assegnato
ciao 
Fabo


$ sed s/stringa/nuovastringa/ file > output_file
-- 
Enrico Bodo  -   PhD student      
University of Rome "La Sapienza" 
Department of Chemistry         

non riesco a far funzionare sed ...
ti spiego meglio ....
sul file "log" č memorizzato un indirizzo ip.
sul file "older" č memorizzato il vecchio indirizzo ip (contenuto nel
file "radio.html")
adesso io nel file "radio.html" devo sostituire la stringa contenuta in
"older" con quella contenuta in "log"
ho scritto lo script di bash:
 
#!/bin/bash
newip=`cat log`
oldip=`cat older`
sed `s/$oldip/$newip/radio.html` > prova.html
ma l'output č ... 
./aggiorna: s/
151.21.49.23
: File o directory inesistente (151.21.49.23 č
contenuto dentro "older")
ciao e grazie per 'sed' intanto ;)


sed `s/$oldip/$newip/radio.html` > prova.html
Prova con:
sed  s/$oldip/$newip/  radio.html > prova.html


:) mi sa che devo praticare un'altra strada per ora ...
sed  s/$oldip/$newip/  radio.html > prova.html 
il suo output è "sed: -e expression #1, char 18: No previous regular
expression"
che tu sappia esiste qualcosa in html per includere il contenuto di un
file di testo senza ricorrere allo shtml ?
ciao 
fabo


 :) mi sa che devo praticare un'altra strada per ora ...
prova a vedere 
http://www.unixguide.net/unix/sedoneliner.shtml
ciao, Andrea

file di testo senza ricorrere allo shtml ?
Sì, nell'html 4.0:
<OBJECT data="log" type="text/plain">Testo alternativo, qualora il
browser non supporti questo standard</OBJECT>
-- 
Saluti,
    Mardy
http://castellina.org/interlingua

 browser non supporti questo standard</OBJECT>
il mio browser è Netscape 4.76 .. mi pare non supporti questo tag 
grazie lo stesso per l'aiuto cmq
in pratica devo aggiornare l'indirizzo dinamico che mi viene assegnato
ad ogni collegamento sulla mia pagina web .. avevo pensato di fare un
collegamento ad un semplice file di testo che poi aggiorno con ftp, ma
non è molto elegante :) insomma, non è da pinguini
altri suggerimenti sono più che graditi, ciao (nel frattempo studio
studio ...)
fabo

provato .. ma mi dà il solito errore come sopra 
Se sono indirizzi ip hanno dei punti nel mezzo che sed intepreta come 
caratteri speciali e quindi andrebberocorrettamente protetti.
OLD=`cat older`
NEW=`cat log`
sed s/"$OLD"/"$NEW"/ radio.html > pippo.html


 sed s/"$OLD"/"$NEW"/ radio.html > pippo.html
ok ...
#!/bin/bash
grep IP radio.html | cat > older
cut -b 83-95 older | cat > older
NEW=`cat log`
OLD=`cat older`
sed s/$OLD/$NEW/ radio.html > prova.html
grazie Bodo !! tutto ok adesso !! sei un grande ...
il problema insomma era la protezione delle variabili ?! ti va di
spiegarmi ? 
ciao fabo


sed s/regexp/expr/
La prima e' una regexp e alcuni caratteri hanno significati particolari. Per 
evitare che sed li interpreti devi proteggerli con qualcosa per esempio le 
virgolette. Mi chiedevo se i punti dell'indirizzo dessero fastidio. Cosi' ti 
ho detto di mettere le virgolette, che pero' tu non hai messo e quindi tutta 
'sta spiegazione va a farsi benedire. :-)


 hai messo e quindi tutta 'sta spiegazione va a farsi benedire. :-)
no no .. hai ragione tu ..
la versione ufficiale dello script (relase 0.0.2) è : sed s/"`grep IP
radio.html | cut -b 83-94 $1`"/"`/sbin/ifconfig ppp0 | grep addr: $2 | cut
-b 21-34 $3`"/ radio.html > aggiornato.html mv aggiornato.html radio.html
le virgolette ci sono .. altrimenti non gira
ciao fabo

On Sat, 08 Sep 2001 19:09:40 GMT,

Nel caso specifico:
inserisci in ip-up.local
echo $4 > <tuo file>
man man pppd
[ ... ]
       /etc/ppp/ip-up
              A program or script which is executed when the link
              is  available  for sending and receiving IP packets
              (that is, IPCP has come up).  It is  executed  with
              the parameters
              interface-name  tty-device  speed  local-IP-address
              remote-IP-address ipparam
-- 
Mario Michele Macaluso     -o)  | Boys will be boys, and so will a lot of    
m.macaluso .@. 
libero.it
   /\\  | middle-aged men.   -- Kin Hubbard          
                          _\\_v |                                            
Kernel 2.2.14-5.0 on a i586     |                                            
(All addresses in headers are fake. Only one dot in signature.)