[sed] suppression de ligne consécutive
Résolu/Fermé
A voir également:
- [sed] suppression de ligne consécutive
- Forcer suppression fichier - Guide
- Site de vente en ligne particulier - Guide
- Partage de photos en ligne - Guide
- Hors ligne instagram - Guide
- Aller à la ligne excel - Guide
9 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 835
10 juil. 2008 à 01:22
10 juil. 2008 à 01:22
Salut,
Essaie :
Cdt
Essaie :
sed ':b;$b;N;/^\(.*\)#.*\n\1#.*$/{s/\(.*\)#\(.*\)\n.*/\1#\2/g;bb};$b;P;D' fichier.txt
Cdt
(Pabix)
Messages postés
578
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
27 octobre 2009
81
10 juil. 2008 à 08:57
10 juil. 2008 à 08:57
T’embête surtout pas à faire des trucs compliqués ! Utilise la commande uniq. Elle fait ça.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 835
10 juil. 2008 à 09:17
10 juil. 2008 à 09:17
Oui sauf que les lignes ne sont pas strictement uniques.
(Pabix)
Messages postés
578
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
27 octobre 2009
81
10 juil. 2008 à 09:20
10 juil. 2008 à 09:20
J’avais en effet pas vu ça. Est-ce que ce qui est derrière le # est important ? Sinon tu peux filtrer : awk 'BEGIN{ FS="#" } {print $1}' fichier | uniq ?
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 835
10 juil. 2008 à 09:23
10 juil. 2008 à 09:23
Bah il a dit que c'est ce qu'il voulait dans sa sortie. Faudrait lui demander. Mais bon sinon un simple :
less fichier | cut -d'#' -f1 | uniq est ok. Mais bon ma commande sed marche et est parfaitement compréhensible non ? loool.
less fichier | cut -d'#' -f1 | uniq est ok. Mais bon ma commande sed marche et est parfaitement compréhensible non ? loool.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
(Pabix)
Messages postés
578
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
27 octobre 2009
81
10 juil. 2008 à 09:24
10 juil. 2008 à 09:24
Autre solution : uniq a une option pour ne pas comparer les 1ers champs : rev fichier | IFS="#" uniq --option_qui_va | rev
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 835
10 juil. 2008 à 09:33
10 juil. 2008 à 09:33
Tu parles sûrement d'uniq -f1 oui c'est une bonne idée. Sauf que rev inverse caractères par caractères. Donc ta solution ne marchera pas.
(Pabix)
Messages postés
578
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
27 octobre 2009
81
10 juil. 2008 à 11:23
10 juil. 2008 à 11:23
mais si, enchaîner rev 2 fois, ça revient à laisser la ligne en état.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 835
10 juil. 2008 à 11:26
10 juil. 2008 à 11:26
Oui ça ok, mais j'avais oublié que si deux chaines sont équivalentes, leurs inverses aussi. La fatigue on va dire ^^
Super,
Ça marche nickel !!!
Je vous remercie infiniment tous les deux en en particulier fiddy
Cela-dit, si une petite explication pouvait accompagner la syntaxe tant recherchée ce serait un plus, histoire de comprendre un peu. Parce que dès qu'il s'agit de manipuler le cache je me perds, même avec comme support le tutoriel sed disponible sur ccm.
Encore merci
Ça marche nickel !!!
Je vous remercie infiniment tous les deux en en particulier fiddy
Cela-dit, si une petite explication pouvait accompagner la syntaxe tant recherchée ce serait un plus, histoire de comprendre un peu. Parce que dès qu'il s'agit de manipuler le cache je me perds, même avec comme support le tutoriel sed disponible sur ccm.
Encore merci