Eternels problemes avec grep
Résolu
santiago69
Messages postés
477
Date d'inscription
Statut
Membre
Dernière intervention
-
santiago69 Messages postés 477 Date d'inscription Statut Membre Dernière intervention -
santiago69 Messages postés 477 Date d'inscription Statut Membre Dernière intervention -
salut a tous,
j'ai une variable qui contient un texte sur plusieurs lignes :
Je voudrais isoler tous les chemins sous /home/santiago/folder (inclus). Je veux donc extraire :
J'ai d'abord essaye :
La j'ai une ligne en trop. Mais si je fais :
Il me manque une ligne
Comment faire pour dire "soit un slash, soit la fin de la ligne"
Merci d'avance
Santiago
j'ai une variable qui contient un texte sur plusieurs lignes :
$ echo "$mtpt" /home/santiago/folder /home/santiago/folder/file /home/santiago/folder1 /var/home/santiago/folder/file
Je voudrais isoler tous les chemins sous /home/santiago/folder (inclus). Je veux donc extraire :
/home/santiago/folder /home/santiago/folder/file
J'ai d'abord essaye :
$ echo "$mtpt" | grep '^/home/santiago/folder' /home/santiago/folder /home/santiago/folder/file /home/santiago/folder1
La j'ai une ligne en trop. Mais si je fais :
$ echo "$mtpt" | grep '^/home/santiago/folder/' /home/santiago/folder/file
Il me manque une ligne
Comment faire pour dire "soit un slash, soit la fin de la ligne"
Merci d'avance
Santiago
A voir également:
- Eternels problemes avec grep
- Grep recursif - Forum Linux / Unix
- Grep récursif - Forum Programmation
- Find grep - Forum Shell
- Commande grep - Forum Linux / Unix
- Commande grep ✓ - Forum Ubuntu
6 réponses
je pensais aussi comme dubcek, mais ça ne marche pas. En bidouillant un peu, je suis arrivé à cela en utilisant egrep plutôt que grep
egrep '(/home/e)($|/)'
egrep '(/home/e)($|/)'
Salut,
Pour ma part j'avais ceci avec "egrep" :
Pour ma part j'avais ceci avec "egrep" :
echo "$mtpt" | egrep "^/home/santiago/folder($|/.*)"ou
grep -E "^/home/santiago/folder($|/.*)";-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bravo iluvatar et jipicy,
avec grep, c'est l'option -E que j'avais omis (et je viens de comprendre que c'est synonyme de egrep).
donc au final, voila la syntaxe que j'ai retenu :
si ca vous interesse, j'ai poste mon script final afin qu'il soit teste par le plus grand nombre et que je puisse corriger le plus d'erreurs possible.
avec grep, c'est l'option -E que j'avais omis (et je viens de comprendre que c'est synonyme de egrep).
donc au final, voila la syntaxe que j'ai retenu :
echo "$mtpt" | grep -E '^/home/santiago/folder(/|$)'
si ca vous interesse, j'ai poste mon script final afin qu'il soit teste par le plus grand nombre et que je puisse corriger le plus d'erreurs possible.