[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Riminilug-general] Trova e sostituisci testo usando la shell



Alle gio 5 aprile 2007, Paolo Sala ha scritto:
> dna ha scritto:
> > Ciao a tutti, il mio problema è questo:
> > ho un file di testo e vorrei, usando uno script shell, sostituire tutte
> > le parole "pippo" in quel testo con le parole "pluto".
> >
> > In internet ho trovato qualcosa, ma ho molta confusione.
> > Credo si debba usare il programma VI
> > e passargli il parametro
> >
> > :.,$s/pippo/pluto/g (sostituisce pluto al posto di pippo nel resto del
> > : file)

> Con sed quindi potresti eseguire
> cat fileditesto | sed s/pippo/pluto/g > fileditesto
>
> Ma come hai trovato sempre in internet lo puoi fare anche tramite vi con
> vi fileditesto
> poi premi : e scrivi sempre la stessa espressione regolare
> aggiungendogli un % davanti
> %s/pippo/pluto/g
> Poi salvi con premendo sempre i : e poi wq

E se vuoi fare veramente lo sborone puoi combinare le due cose, cioè entri in 
vi, premi v ed entri in modalità selezione testo, premi la freccia in basso 
finchè non hai selezionato tutto il testo su cui vuoi eseguire l'operazione, 
dopo di che premi : poi ! e poi digiti il comando "sed s/pippo/pluto/g" .

I : e il ! fanno in modo di poter usare un comando esterno a vi per poter 
elaborare il testo selezionato oppure per poter riempire il file con il 
risultato del comando.

grande vi :D !


-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ing. Stambazzi Andrea

Alias: ObyLan Kenoby
Email: stamba74@xxxxxxxxxxxx

linux user id on counter.li.org : 366760
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_______________________________________________
Riminilug-general mailing list
Riminilug-general@xxxxxxxxxxxx
http://riminilug.it/mailman/listinfo/riminilug-general