[Perl] One-liner pour concaténer deux colonnes d'un CSV
Charles Nepote
charles at nepote.org
Lun 12 Fév 15:48:24 CET 2018
Bonjour à tous,
Je cherche à concaténer *proprement* deux colonnes d'un CSV en UTF-8
avec un code court, lisible et sous la forme d'un one-liner.
Je suis arrivé à ça (qui fonctionne) :
perl -MText::CSV::Encoded -lne
'$c=Text::CSV::Encoded->new({encoding=>utf8});
$c->parse($_);@f=$c->fields();print (@f[0]. at f[1].",". at f[2].",". at f[3])'
monfichier.csv
Je me demandais si on peut faire plus court tout en restant lisible
(j'ai un petit niveau en Perl).
J'ai exclu les regexp parce que c'est très (trop) compliqué pour gérer
les cas où il y a une virgule à l'intérieur d'un champ (qui plus es
contenant des guillemets échappés) : colonne1,"colonne\"n°\",2",colonne3.
Charles.
Plus d'informations sur la liste de diffusion Perl