Grep et expression réguliere

Résolu/Fermé
pcsystemd Messages postés 691 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 15 janvier 2024 - 19 févr. 2009 à 16:55
pcsystemd Messages postés 691 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 15 janvier 2024 - 20 févr. 2009 à 09:25
Bonjour,

voila je souhaite savoir a quoi correspond le caractére # dans l'expression suivante :

grep -i "^[^#]*DEBUG" foo.txt

Merci

7 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
20 févr. 2009 à 09:07
ce grep affiche les lignes qui contiennet DEBUG et ne sont pas des lignes de commentaires
1
jacinthe87 Messages postés 194 Date d'inscription mercredi 4 février 2009 Statut Membre Dernière intervention 15 juillet 2010 3
19 févr. 2009 à 16:59
# n'est pas une expression reguliere, d'aprés ce que tu as ecris, tu veux afficher tous ce qui ne commence pas par #.
enfin je crois
0
Bonjour,

Le caractère # correspond à un caractère #

et vous voulez afficher les lignes commençant par DEBUG en faisant abstraction des éventuels caractères # qui pourraient précéder le DEBUG

Manu
0
Rebonjour

Il fallait lire

vous voulez afficher les lignes contenant DEBUG non précédé d'un caractère #

Manu
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
20 févr. 2009 à 08:39
afficher les lignes qui contiennent DEBUG et qui ne débutent pas par #
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
20 févr. 2009 à 08:56
Salut,

vous voulez afficher les lignes contenant DEBUG non précédé d'un caractère #
Le but d'une regex c'est de trouver une correspondance et pas de trouver une non correspondance.

[^] - c'est une classe complementée qui veut dire de trouver tout caractère sauf les caractères existants dans la classe et pas de ne pas trouver les caractères existants dans la classe.

Même si ça semble être la même chose ce n'est pas le cas.

Donc on dirait plutôt
- vous voulez afficher les lignes contenant DEBUG et précédé de tout caractère sauf le #
0
pcsystemd Messages postés 691 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 15 janvier 2024 22
20 févr. 2009 à 09:25
Merci a tous.
0