Find e Replace in file di testo da linea di comando

find-replace

Tutto è nato quando un mio collega mi ha chiesto aiuto. Aveva un file bello corposo (un export di un database intero) da aprire e modificare.

Peccato che nessun editor di testo disponibile al momento riusciva a farlo per le grandi dimensioni del file e il tentativo mandava in out of memory il sistema.

Siccome il suo scopo era quello di un find e replace di una parola con un’altra all’interno di tutto il file, cerca che ti ricerca abbiamo trovato una soluzione comoda e veloce da riga di comando.

Infatti, esiste un comando ‘sed’ che permette di manipolare, filtrare, trasformare testi o flussi di testi. In sostanza, elabora i file di testo riga per riga ed è tipico degli ambienti GNU/Linux e Unix in generale.

Bene, meglio di così. Sempre spulciando la rete, quindi, eccoti come usarlo semplicemente da riga di comando per il nostro caso :

cat original_dump.sql | sed s/testodasostituire/testosostituito/ > new_dump.sql

In tal modo, prendete il file original_dump.sql e all’interno ‘testodasostituire’ sarà rimpiazzato con ‘testodasostituito’.

Più facile a farlo che a dirlo. Logicamente, prima di operare su file importanti meglio un bel backup.

Nessun commento.

Lascia un commento