Bash ne garder que les valeurs numériques

Bonjour,

Je veux supprimer d'un fichier csv (avec ; comme séparateur) les valeurs non numériques.
J'ai donc voulu utiliser sed :
sed -i 's/[^[:digit:]]/;/g' temp2.csv

Mais cela supprime les retours à la ligne.

Je conserve les valeurs numériques et les points-virgules, mais pas les retours à la ligne.

Comment faire pour que ça marche correctement ?

3 réponses

  1. Contributeur
    Salut,

    Normalement sed ne modifie qu'une ligne à fois sans toucher au fin de ligne.
    Ta syntaxe ne devrait normalement pas y toucher non plus, à moins que le format de ton fichier d'entrée ne soit pas conforme ;-\

    Peut-on avoir un bout de ton fichier "csv" via la commande
    cat -A ton_fichier.csv | tail -5
    ?

    1. c'est que cela décomposait les dates cela a donc décalé les infos que je chercher à traiter.
      1. sed
        ne modifie qu'une ligne à fois sans toucher aux fins de lignes.
      2. @zipe31salut zipe,

        je ne soulignais pas pour toi; je ne comprends pas, moi non plus, comment cette commande pourrait LES ;) altérer.