Avviso importante: tutti i testi di questo sito web sono stati tradotti da diverse lingue. Ci scusiamo per la loro qualità, potrebbe essere di qualità inferiore al solito. Saluti, l'Amministrazione del sito. E-mail: info@itbookmac.com

Trova e sostituisci testo in più documenti dalla riga di comando

Come molte cose nella riga di comando, non c’è un processo di conferma, quindi ti consigliamo di assicurarti che la tua sintassi sia impostata correttamente prima di iniziare un comando, altrimenti potresti dover eseguire un’altra ricerca e sostituzione per riparare l’errore di digitazione.

La sintassi del comando di base è la seguente:

perl -pi -w -e ‘s / THIS / THAT / g;’ /path/to/files*.txt

Per un singolo esempio di parola, se è necessario sostituire tutte le istanze di “ogre” con “cornbread” in ogni file .txt all’interno della cartella “Documenti”, si utilizzerà il seguente comando:

perl -pi -w -e ‘/ ogre / cornbread / g;’ ~ / Documenti / *. Txt

Per un esempio di ricerca e sostituzione di un’intera frase, supponiamo che sostituiremo l’intera frase “The Chocolate Factory” con “The Wizard of Oz” in un gruppo di file .txt che iniziano con “Films” memorizzati nei Documenti directory:

perl -pi -w -e ‘s / La fabbrica di cioccolato / Il mago di Oz / g;’ ~ / Documenti / Film * .txt

La ricerca e la sostituzione vengono eseguite immediatamente. È possibile ricontrollare la modifica utilizzando cat e grep per verificare:

cat ~ / Documents / Films124.txt | grep “Wizard of Oz”

Certo, questo è abbastanza avanzato, e sì, la ricerca e la sostituzione di lotti tramite più documenti possono essere fatti in modo più user friendly attraverso app GUI come TextWrangler e BBEdit, ma a volte la riga di comando è più veloce per operazioni veloci come questa e altre che sono simili, in più non richiede alcun download aggiuntivo da utilizzare.

Un bel pollice in su per Lifehacker per l’eccellente trucco.

Aggiornamento: il comando ‘sed’ è un altro modo per fare una ricerca rapida e sostituirla tramite la riga di comando. La copertura sed è principalmente un argomento per un altro articolo, ma la sintassi di base dell’uso di sed per questo compito è un po ‘più semplice e quindi più facile da ricordare:

sed -i / THIS / THAT / g ‘/path/to/files*.txt

Non esiste un modo giusto o sbagliato, quindi se si utilizza perl o sed diventa una questione di preferenza personale.

Like this post? Please share to your friends: