Supprimer recursivement fin de ligne
Résolu
Poireau007
Messages postés
83
Date d'inscription
Statut
Membre
Dernière intervention
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour tout le monde !
J'ai un fichier qui comporte les lignes suivantes :
Produit: cartes - 12300
Produit: papier - 45600
Produit: encre - 65755
je cherche une fonction (sed ou awk) qui me permettrait de récupérer un fichier de type
cartes
papier
encre
j'arrive à supprimer le début de ligne avec sed car il est identique mais pour supprimer tout ce qui est après " - " c'est plus difficile ...
Merci pour votre aide !
J'ai un fichier qui comporte les lignes suivantes :
Produit: cartes - 12300
Produit: papier - 45600
Produit: encre - 65755
je cherche une fonction (sed ou awk) qui me permettrait de récupérer un fichier de type
cartes
papier
encre
j'arrive à supprimer le début de ligne avec sed car il est identique mais pour supprimer tout ce qui est après " - " c'est plus difficile ...
Merci pour votre aide !
A voir également:
- Supprimer recursivement fin de ligne
- Supprimer rond bleu whatsapp - Guide
- Partage de photos en ligne - Guide
- Impossible de supprimer une page word - Guide
- Impossible de supprimer un fichier - Guide
- Supprimer pub youtube - Accueil - Streaming
2 réponses
Salut,
jp@MDK:~/tmpfs ssh$ cat plop Produit: cartes - 12300 Produit: papier - 45600 Produit: encre - 65755 jp@MDK:~/tmpfs ssh$ sed -n 's/.*: \(.*\) -.*/\1/p' plop cartes papier encre jp@MDK:~/tmpfs ssh$;-))
Re-
Tu as quasiment tout bon ;-)
Le "-n" c'est effectivement pour empêcher l'affichage systématique ou que sur demande avec le paramètre "p".
Voir dans la FAQ de SED les 3 parties intitulées "Introduction à SED".
Pour les sous-expressions voir là plus précisément ;-)
Tu as quasiment tout bon ;-)
Le "-n" c'est effectivement pour empêcher l'affichage systématique ou que sur demande avec le paramètre "p".
Voir dans la FAQ de SED les 3 parties intitulées "Introduction à SED".
Pour les sous-expressions voir là plus précisément ;-)
Je ne suis pas très bon en expressions régulières et je voudrais comprendre la réponse si possible :))))
pour : -n
j'ai lu que ça permet de supprimer l'affichage automatique de l'espace de travail, mais ce n'est pas très clair...
http://jp.barralis.com/linux-man/man1/sed.1.php
pour : .*:
ça c'est pour dire n'importe quelle chaine de caractères avant les ":" , c'est bien ça ?
pour : \(.*\)
pour ça, je ne comprend pas trop. j'ai lu que "\(" et "\)" permetent d'isoler des sous chaines. Cela permet d'isoler une expression dans une expression ? J'ai un peu de mal a conceptualiser la chose...
pour : -.*
Pareil que tout à l'heure, il s'agit de toute chaine de caractere
pour : \1
c'est pour récupérer la première sous chaine d'après ce que j'ai compris
pour : p
la je sais pas trop, je comprend la distinction entre p et g ... c'est pour lire ligne par ligne non ?
Désolé pour toutes ces questions, c'est pour mieux comprendre !