Trova Sostituisci ricorsivamente da terminale Linux

Trova  Sostituisci ricorsivamente da terminale Linux

Trova  Sostituisci ricorsivamente da terminale Linux

Per trovare e sostituire una parola in un file di testo è molto semplice, ed ogni sistema operativo offre una semplice interfaccia per ottenere questo. Ma se si ha una cartella con all'interno altre cartelle, che a loro volta contengono centinaia di files di testo, allora il lavoro si fa estremamente duro. Questa guida serve a semplificare tutto, ed il risultato sarà immediato e velocissimo. Gli strumenti che offre Gnu-Linux sono: Find, Grep, Sed.

trovare il testo:

grep -r "testo_da_trovare"

sostituire il testo:

find ./ -exec sed -i 's/testo_trovato/testo_da_sostituire/g' {} \;

Trova  Sostituisci ricorsivamente da terminale Linux

enjoy 😉

 

Uninstall programmi installati da sorgenti

 

 

Dopo vari esperimenti l'altra sera non riuscivo più a compilare, poichè avevo in precedenza installato da sorgenti alcune cose, che alla fin della fiera mi hanno compromesso il sistema (chiedere a toshidex 🙂 ) perdendo il bandolo della matassa. Comunque il problema lo avevo individuato, ma dopo svariati tentativi andati a vuoto, mi sono stancato ed ho preferito reinstallare. Certo se fosse stato un problema dovuto a qualche aggiornamento giornaliero fatto, il problema lo avrei risolto semplicemente in questo modo. Ma in questo caso avendo installato con make-install, senza quindi nemmeno checkinstall,  addio tracce di tutti i file installati. Quindi questa guida serve soprattutto a me, giusto per ricordarmi che quando faccio qualche test è sempre meglio avere una lista di quello che faccio 🙂 Per tenere traccia dei file ci sono due metodi:

Primo metodo:

# make uninstall

ma trovare un tarball che include questo è quasi come vincere al superenalotto 🙂

Secondo metodo:

prendere nota di tutti i file installati:

# find /* > pacchetti.prima

a questo punto eseguire il make-install

quindi prendere nota di tutti i file dopo l'installazione:

# find /* > pacchetti.dopo

ottenere le differenze tra i due file usando diff:

# diff pacchetti.prima pacchetti.dopo > uninstall

iniziare la rimozione:

# for i in $(grep ">" uninstall | awk '{ print $2 }')

do

/bin/rm -fi $i;

done

a questo punto compariranno a video i file da disinstallare, e basta scrivere yes.

 

enjoy 😉