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 :
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 ?
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
-
ContributeurSalut,
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 commandecat -A ton_fichier.csv | tail -5
?
-
c'est que cela décomposait les dates cela a donc décalé les infos que je chercher à traiter.
-
-
Contributeur@Utilisateur anonymeMea coulpa ;-((
Quoi que… il n'y a qu'une fin par ligne ;-)) -
@zipe31salut zipe,
je ne soulignais pas pour toi; je ne comprends pas, moi non plus, comment cette commande pourrait LES ;) altérer.
-
-
et avec sed "s/[a-zA-Z]//g" nom_de_fichier ?