Trova e sostituisci con Miller

Trova e sostituisci usando la riga di comando e Miller.

A cura di Totò Fiandaca  | issue #146 | guida/e Andrea Borruso


Caso d’uso

I file CSV hanno spesso la necessita di essere ripuliti da errori, ripetizioni, caratteri speciali ecc.., in questa ricetta vedremo come travare e sostituire il testo per migliorare il nostro csv:

file di input.txt

id field1 filed2
1 A; B
2 a b-k

usando Miller, il verbo put e la fuzione gsub, che fa un trova e sostituisci globale usando regex in standard posix.2

mlr --csv put '$field1=gsub($field1,";","");$filed2=gsub($filed2,"-k","")' input.txt >output.csv

output:

id field1 filed2
1 A B
2 a b

Riferimenti utili

Chi ha cucinato questa ricetta o ne ha tratto ispirazione

Ultima modifica 12/02/2023: update link Miller (fac1a84)