Pages : 1
#1 Le 21/03/2016, à 16:03
- Sebastien92
Parsing de fichier
Bonjour,
est ce que quelqu'un peut m'aider svp ?
J'ai un fichier de données au format csv.
Il contient des données sur chacune des ses lignes.
Je souhaite le parser de manière à avoir :
ligne 1 - séparation par tabulation - Ligne 2
ligne 3 - séparation par tabulation - Ligne 4
au final :
ligne impaire - - séparation par tabulation - Ligne paire
Comment le parser en ligne de commande bash ?
Merci beaucoup pour votre aide !
Hors ligne
#2 Le 21/03/2016, à 16:09
- MicP
Re : Parsing de fichier
sed '$!N;s/\n/\t/' donnees.csv
ou bien, si tu veux des tirets avant et après le caractère de tabulation :
sed '$!N;s/\n/ -\t- /' donnees.csv
Dernière modification par MicP (Le 22/03/2016, à 10:44)
Hors ligne
#3 Le 21/03/2016, à 19:53
- Arioch91
Re : Parsing de fichier
Je sais que c'est pas demandé mais c'est plus fort que moi : voici une version Perl
#!/usr/bin/perl
$fichier = "fichier.csv";
$new_fichier = $fichier;
$new_fichier =~ s/\./NEW\./;
open(CSV, $fichier) or die("err lecture $fichier : $!\n");
open(NEW, ">$new_fichier") or die("err ecriture $new_fichier : $!\n");
@_ = <CSV>;
chomp(@_);
for($i = 0; $i < scalar(@_); $i+=2) {
print NEW "$_[$i]\t$_[$i+1]\n";
}
8 Go RAM - SSD 120 Go + SATA 1 To - Ubuntu 14.04 LTS
Hors ligne
Pages : 1