Come molte cose nella riga di comando, non c’è un processo di conferma, quindi ti consiglio di controllare attentamente la sintassi prima di eseguire un comando. Un errore di battitura potrebbe costringerti a fare un’altra ricerca e sostituzione per rimediare.
La sintassi del comando di base è la seguente:
perl -pi -w -e ‘s/THIS/THAT/g;’ /path/to/files*.txt
Se desideri sostituire tutte le istanze di «ogre» con «cornbread» in ogni file .txt nella cartella «Documenti», puoi usare il seguente comando:
perl -pi -w -e ‘s/ogre/cornbread/g;’ ~/Documenti/*.txt
Per sostituire un’intera frase, supponiamo tu voglia cambiare «La fabbrica di cioccolato» con «Il mago di Oz» in tutti i file .txt che iniziano con «Films» memorizzati nella cartella Documenti:
perl -pi -w -e ‘s/La fabbrica di cioccolato/Il mago di Oz/g;’ ~/Documenti/Films*.txt
Le modifiche vengono eseguite immediatamente. Puoi controllare la modifica usando cat e grep per verificare:
cat ~/Documenti/Films124.txt | grep «Il mago di Oz»
Certo, questo metodo è piuttosto avanzato. Se preferisci un’interfaccia più user-friendly, puoi optare per applicazioni GUI come TextWrangler e BBEdit. Tuttavia, per operazioni rapide come questa, la riga di comando è spesso più veloce e non richiede alcun download aggiuntivo.
Un grande applauso a Lifehacker per questo trucco utile!
Aggiornamento: il comando ‘sed’ è un’altra opzione per una ricerca e sostituzione veloce tramite la riga di comando. Anche se la sintassi di sed è un argomento per un altro articolo, è un po’ più semplice e quindi più facile da ricordare:
sed -i ‘s/THIS/THAT/g’ /path/to/files*.txt
Non esiste un modo giusto o sbagliato, quindi che tu scelga perl o sed dipende solo dalle tue preferenze personali.
Aggiornamenti per il 2024
Nel 2024, la richiesta di strumenti di modifica del testo tramite la riga di comando è in costante crescita, specialmente tra gli sviluppatori e i professionisti IT. Le nuove versioni di macOS hanno migliorato le prestazioni della riga di comando, rendendo operazioni come queste ancora più efficienti.
Inoltre, ci sono nuove opzioni per automatizzare questi processi tramite script, che possono risparmiare tempo prezioso. Strumenti come Automator ora integrano meglio le funzioni della riga di comando, permettendo persino a chi è meno esperto di sfruttare queste potenti funzionalità.
Infine, non dimenticare di tenere d’occhio le nuove applicazioni che potrebbero semplificare ulteriormente questo tipo di operazioni. Con l’evoluzione continua della tecnologia, ci sono sempre nuove soluzioni che possono migliorare il tuo flusso di lavoro!