Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/11/2013, à 14:19

soupaloignon

[Résolu] Sed - Récupérer des lignes suivant des motifs différents

Bonjour à tous,

Je cherche à extraire d'un fichier des lignes commençant par un motif précis. J'ai trouvé comment le faire pour un motif, mais impossible, malgré le fait d'avoir trituré la commande dans tous les sens, de le faire avec 2 motifs.

La commande que j'ai pour le moment est celle-ci :

sed -e '/^Le/!d' 1 > 2

Qui marche bien et me renvoi dans le fichier 2 toutes les lignes commençant par l'article "Le" se trouvant dans le fichier 1.

Mais entre les différentes lignes commençant par "Le" se trouve à chaque fois une ligne commençant par "Total", que je voudrais également récupérer (et conserver dans le fichier destination l'ordre des "Le" et "Total".

Et là je sèche ...

Quelqu'un aurait une idée ?

Merci d'avance

Edit : info complémentaire. Entre les lignes commençant par "Le" et commençant par "Total" le nombre de lignes est aléatoire.

Dernière modification par soupaloignon (Le 09/11/2013, à 14:45)


==> Libérez les huitres du bassin d'Arcachon <==

Hors ligne

#2 Le 09/11/2013, à 14:27

pingouinux

Re : [Résolu] Sed - Récupérer des lignes suivant des motifs différents

Bonjour,

sed -n '/^Le\|^Total/p' fichier

Ajouté :
Ou bien

sed -nr '/^(Le|Total)/p' fichier

Dernière modification par pingouinux (Le 09/11/2013, à 14:32)

Hors ligne

#3 Le 09/11/2013, à 14:31

Watael

Re : [Résolu] Sed - Récupérer des lignes suivant des motifs différents

avec des chaînes aussi courtes ce n'est pas très important, sinon

sed -rn '/^(une longue chaîne|une longue chaîne différente)/p'  fichier

Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#4 Le 09/11/2013, à 14:33

pingouinux

Re : [Résolu] Sed - Récupérer des lignes suivant des motifs différents

Watael a devancé ma correction.

Hors ligne

#5 Le 09/11/2013, à 14:34

soupaloignon

Re : [Résolu] Sed - Récupérer des lignes suivant des motifs différents

big_smile Un grand merci pingouinux, cela fonctionne a merveille et très rapidement en plus (le fichier d'origine fait environ 15000 lignes)


Edit : Merci à toi aussi Watael, je garde l'info au chaud dans le cas d'une recherche sur des phrases

Dernière modification par soupaloignon (Le 09/11/2013, à 14:37)


==> Libérez les huitres du bassin d'Arcachon <==

Hors ligne