Utilisation de sed
Utilisateur anonyme
-
jipicy Messages postés 41342 Statut Modérateur -
jipicy Messages postés 41342 Statut Modérateur -
Bonjour,
Je reviens vers vous pour la 3éme fois (pour ne pas dire la n éme fois) car je n'arrive toujours pas à bien comprendre la commande "sed" :
j'ai mon fichier composé de 8 champs séparés par ";" et contenant les lignes suivantes:
01 ; 6407385 ; ville de clamart,92140,clamart ; fournitures ; ouvert ; 28/01/2008 ; 92 ; daniel loiseau gamme,333436418-37,94310,orly
01 ; 6407385 : ville de clamart,92140,clamart ; fournitures ; ouvert ; 28/01/2008 ; 92 ; ede ruy,304914211-20,69200,venissieux
sur le champ 8 qui est composé lui meme de 4 champs séparés par "," je veux supprimer ce qui vient aprés le tiret pour le 2éme champ comme ceci:
01 ; 6407385 ; ville de clamart,92140,clamart ; fournitures ; ouvert ; 28/01/2008 ; 92 ; daniel loiseau gamme,333436418,94310,orly
01 ; 6407385 : ville de clamart,92140,clamart ; fournitures ; ouvert ; 28/01/2008 ; 92 ; ede ruy,304914211,69200,venissieux
j'ai essayé toutes les possibilité de remplacement depuis ce matin mais toutes les formules ne marche pas!! est ce que quelqu'un pourra m'aider svp??
j'ai cette formule que vous m'avez dictée sed -r 's/(.*;)([^,]*),([^-]*)-(.*)/\1\3/'mon-fichier mais elle me supprime tous le champ 8 et elle garde que le chiffre. (01 ; 6407385 ; ville de clamart,92140,clamart ; fournitures ; ouvert ; 28/01/2008 ; 92 ; 333436418)
Je reviens vers vous pour la 3éme fois (pour ne pas dire la n éme fois) car je n'arrive toujours pas à bien comprendre la commande "sed" :
j'ai mon fichier composé de 8 champs séparés par ";" et contenant les lignes suivantes:
01 ; 6407385 ; ville de clamart,92140,clamart ; fournitures ; ouvert ; 28/01/2008 ; 92 ; daniel loiseau gamme,333436418-37,94310,orly
01 ; 6407385 : ville de clamart,92140,clamart ; fournitures ; ouvert ; 28/01/2008 ; 92 ; ede ruy,304914211-20,69200,venissieux
sur le champ 8 qui est composé lui meme de 4 champs séparés par "," je veux supprimer ce qui vient aprés le tiret pour le 2éme champ comme ceci:
01 ; 6407385 ; ville de clamart,92140,clamart ; fournitures ; ouvert ; 28/01/2008 ; 92 ; daniel loiseau gamme,333436418,94310,orly
01 ; 6407385 : ville de clamart,92140,clamart ; fournitures ; ouvert ; 28/01/2008 ; 92 ; ede ruy,304914211,69200,venissieux
j'ai essayé toutes les possibilité de remplacement depuis ce matin mais toutes les formules ne marche pas!! est ce que quelqu'un pourra m'aider svp??
j'ai cette formule que vous m'avez dictée sed -r 's/(.*;)([^,]*),([^-]*)-(.*)/\1\3/'mon-fichier mais elle me supprime tous le champ 8 et elle garde que le chiffre. (01 ; 6407385 ; ville de clamart,92140,clamart ; fournitures ; ouvert ; 28/01/2008 ; 92 ; 333436418)
A voir également:
- Utilisation de sed
- Utilisation chromecast - Guide
- Télécharger gratuitement notice d'utilisation - Guide
- Family link temps d'utilisation ne fonctionne pas - Forum Contrôle parental
- La ressource demandée est en cours d'utilisation ✓ - Forum Logiciels
- Remplacez le mot sed par le mot mais dans tout le texte. combien de caractères contient le document suite à cette modification (en incluant les espaces) ? ✓ - Forum Shell
;-))
Ben c'est le même principe que "[^-]*", à part qu'ici on remplace le tiret par une virgule, donc on englobe tout ce qu'il y a après le tiret jusqu'à ce qu'on rencontre une virgule.