Home > Uncategorized > Ricercare e sostituire testo in un file da terminale linux

Ricercare e sostituire testo in un file da terminale linux

In linux la ricerca e la sostituzione di testo in un file può essere effettuata efficacemente facendo ricorso al comando sed  ( stream editor )

sed -i 's/testo da sostituire/nuovo testo/g' file.txt

esempio

sed -i -e 's/database_name_here/wordpress/g' wp-config.php

opzioni/argomenti :

  • -i = in-place (i.e. save back to the original file)
  • formato della stringa di comando :
    • s-> è il comando di sostituzione
    • / -> il separatore si possono utilizzare anche altri separatori ad esempio il pipe |
    • testo da sotituire  ->  regular expression che descrive la parola/testo da sostituire
    • nuovo testo -> il nuovo testo che andrà a sostituire il testo ricercato
    • g -> global indica che devono essere sostuite tutte le occorrenze trovate non solo la prima
  • file.txt -> il nome del file in cui effettuare la ricerca

Ricerca e sostituizione di una stringa in più files

comando generalegrep -rl testo-da-sostituire  directory/  | xarg  sed -i ‘s|testo da sostituire|nuovo testo|g

esempio:

grep -rl mydb wp/ | xargs sed -i -e 's|database_name_here|wordpress|'
o
grep -rl mydb wp/ | xargs sed -i -e 's@database_name_here@wordpress@'

opzioni grep usate:

  • -r  -> ricorsivo
  • -l  ->  solo files contenenti i caratteri specificati ( with match )

Altra possibilità

ricerca e sostizuione utilizzando find e sed

find . -type f -name "*.txt" -exec sed -i -e 's|-c.wav|-C.wav|g' {} \;

Risorse:

  1. Non c'è ancora nessun commento.
  1. No trackbacks yet.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: