SED au secours!!!
Résolu/Fermé
bonjour
j'ai une question par rapport à sed
en fait moi je veux ça : sed -n '/regexp/{g;1!p;};h'(affiche la ligne precedent le mot recherché)
mais a l'envers c'est a dire
je veux que la ligne precedente disparaisse (genre ça sed -n '/texte/!p ) au lieu de s'afficher !
j'ai tout essayer a mon humble nivo je trouve pas......
merci pour votre aide!!!
j'ai une question par rapport à sed
en fait moi je veux ça : sed -n '/regexp/{g;1!p;};h'(affiche la ligne precedent le mot recherché)
mais a l'envers c'est a dire
je veux que la ligne precedente disparaisse (genre ça sed -n '/texte/!p ) au lieu de s'afficher !
j'ai tout essayer a mon humble nivo je trouve pas......
merci pour votre aide!!!
A voir également:
- SED au secours!!!
- 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) ? - Guide
- Comptage des caractères dans Word ✓ - Forum Word
- Sed supprimer ligne vide - Forum Linux / Unix
- Sed windows - Forum Linux / Unix
- Problème avec sed utilisée sur plusieurs fich - Forum Shell
10 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
20 juil. 2009 à 13:11
20 juil. 2009 à 13:11
Salut,
Essaie ça :
Essaie ça :
sed 'N;/.*\n.*regex.*/!{P;D;b};D';-))
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
20 juil. 2009 à 14:35
20 juil. 2009 à 14:35
Sinon avec "ed" c'est encore plus simpliste :
ed -s fichier <<<$'/regex/-1d\n,p';-))
merci mais ca marche pas pour ed ......
sinon allez derniere petite question il me faudrait aussi supprimer la 5eme ligne precedent le mot recherché
t'as une idée car je vois pas ou t'as gerer la ligne precedente dans ça :sed 'N;/.*\n.*regex.*/!{P;D;b};D' ???c'est quelle lettre qui gere la pâge precedente ? ça \n ?
merci
sinon allez derniere petite question il me faudrait aussi supprimer la 5eme ligne precedent le mot recherché
t'as une idée car je vois pas ou t'as gerer la ligne precedente dans ça :sed 'N;/.*\n.*regex.*/!{P;D;b};D' ???c'est quelle lettre qui gere la pâge precedente ? ça \n ?
merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ah si pardon ca marche pour ed mais c'est pas en boucle(en fait il me retire que le premier et pas quand il retrouve un autre...) je dois utiliser un g c'est ça ?
mais je sais pas trop ou le placer....
merci
mais je sais pas trop ou le placer....
merci
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
20 juil. 2009 à 14:51
20 juil. 2009 à 14:51
ed -s fichier <<<$'g/regex/-1d\n,p'
woua ! comment c'est pratique quelqu'un qui sait!!! ;-)
une petite derniere pour la route je veux virer la 1 et 5 ligne avant le mot recherché ?
une petite derniere pour la route je veux virer la 1 et 5 ligne avant le mot recherché ?
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
20 juil. 2009 à 14:57
20 juil. 2009 à 14:57
Essaye ça pour éliminer la ligne précédente et la 5 ème avant le motig...
ed -s fichier <<<$'g/regex/-1d\n-4d\n,p'
oh bah ca marche pas ........... si j'en ai qu'un ca va mais si on a plusieurs mot recherché ca marche pas il suppruime que la precedente et rien d'autre....