Utilisation de la commande sed

schlagdou Messages postés 3 Statut Membre -  
Malekal_morte- Messages postés 178136 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Bonjour,

Je cherche à supprimer une ligne d'un fichier csv. La ligne en question doit contenir la chaine de caractère suivante :
,64.287,

En respectant cet ordre, y compris les virgules et le point...

J'ai bien essayé tout simplement :
sed -n '/,64.287,/d' fichier.csv

Mais ça ne marche pas... Pourtant je n'ai pas de message d'erreur mais lorsque je vérifie le contenu de mon fichier, la ligne en question est toujours la.

Merci d'avance pour votre aide.

Thomas.

2 réponses

  1. Defouille Messages postés 404 Statut Membre 54
     
    Bonjour,
    tu peux essayer :

    sed s/^.*,64.287,.*$//g fichier.csv 


    Mais tu auras un ligne vide dans ton fichier.
    Je regarde comment l'enlever et je te dis ça :D
    0
  2. Malekal_morte- Messages postés 178136 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   24 712
     
    malekalmorte@neptune:/tmp$ cat prout
    sdfmkldsmfldsf
    ,64.287,/
    sdfksdlfksdf
    dsflksdlf
    malekalmorte@neptune:/tmp$ sed -i '/,64.287,/d' prout
    malekalmorte@neptune:/tmp$ cat prout
    sdfmkldsmfldsf
    sdfksdlfksdf
    dsflksdlf


    j'ai fait ma BABA de la journée :p

    0
    1. Malekal_morte- Messages postés 178136 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   24 712
       
      sans sed :

      malekalmorte@neptune:/tmp$ cat prout
      sdfmkldsmfldsf
      ,64.287,/
      sdfksdlfksdf
      dsflksdlf
      
      malekalmorte@neptune:/tmp$ cat prout |grep -v ",64.287," > prout2 && cat prout2
      sdfmkldsmfldsf
      sdfksdlfksdf
      dsflksdlf
      0