Grep et regexp (y a-t-il une erreur ?)
Résolu
santiago69
Messages postés
477
Date d'inscription
Statut
Membre
Dernière intervention
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
salut a tous,
j'assaye de lancer une commande avec grep et je ne comprend pas pourquoi elle ne marche pas.
je voudrais afficher les lignes du fichier /etc/proftpd/proftpd.conf qui designent un umask (y compris si elle sont commentees)
La commande suivante demande les llignes qui commence par des espaces, des tabulation et des # suivi du mot cle umask (quelle que soit la casse) :
Malheureusement, elle affiche des lignes qui ne m'interessent pas (lignes 1 et 3). La commande suivante impose que le mot umask soit suivi d'espaces, de tabulations et de chiffres
Le probleme, c'est que dans les lignes qui ne m'interessent pas sont toujours la. Donc je voudrais qu'apres lesdits chiffres, la ligne se termine... Pourtant la commande suivante ne renvoi rien !
Quelqu'un peut m'explique ou est l'erreur ?
Merci d'avance
Santiago
j'assaye de lancer une commande avec grep et je ne comprend pas pourquoi elle ne marche pas.
je voudrais afficher les lignes du fichier /etc/proftpd/proftpd.conf qui designent un umask (y compris si elle sont commentees)
La commande suivante demande les llignes qui commence par des espaces, des tabulation et des # suivi du mot cle umask (quelle que soit la casse) :
~$ grep -e '^[ \t#]*[Uu][Mm][Aa][Ss][Kk]' /etc/proftpd/proftpd.conf # Umask 022 is a good standard umask to prevent new files and dirs umask 0113 0006 # # # Umask 022 is a good standard umask to prevent new files and dirs # # umask 0113 0006
Malheureusement, elle affiche des lignes qui ne m'interessent pas (lignes 1 et 3). La commande suivante impose que le mot umask soit suivi d'espaces, de tabulations et de chiffres
~$ grep -e '^[ \t#]*[Uu][Mm][Aa][Ss][Kk][ \t01234567]*' /etc/proftpd/proftpd.conf # Umask 022 is a good standard umask to prevent new files and dirs umask 0113 0006 # # # Umask 022 is a good standard umask to prevent new files and dirs # # umask 0113 0006
Le probleme, c'est que dans les lignes qui ne m'interessent pas sont toujours la. Donc je voudrais qu'apres lesdits chiffres, la ligne se termine... Pourtant la commande suivante ne renvoi rien !
~$ grep -e '^[ \t#]*[Uu][Mm][Aa][Ss][Kk][ \t01234567]*$' /etc/proftpd/proftpd.conf
Quelqu'un peut m'explique ou est l'erreur ?
Merci d'avance
Santiago
A voir également:
- Grep et regexp (y a-t-il une erreur ?)
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Erreur t32 ✓ - Forum Livebox
- Instagram une erreur s'est produite - Forum Instagram
- Erreur 0x80070643 - Accueil - Windows
- Erreur lors de l'enregistrement du contact - Forum Xiaomi
3 réponses
Salut,
PS. Enlever l'espace entre les 2 crochets ouvrants, ils ne sont là que pour palier à l'interprétation qu'il en est fait par CCM ;-((
grep 'umask.*[ [:digit:]]$' grep 'umask[ [:space:]]*[ [:digit:]]';-))
PS. Enlever l'espace entre les 2 crochets ouvrants, ils ne sont là que pour palier à l'interprétation qu'il en est fait par CCM ;-((
merci jipicy ta syntaxe m'en apprend encore sur les regexp.
cependant, cette proposition ne change rien au probleme.
si j'exige que la ligne se termine apres les chiffres, je n'ai plus aucun resultat :
cependant, cette proposition ne change rien au probleme.
si j'exige que la ligne se termine apres les chiffres, je n'ai plus aucun resultat :
~$ grep 'umask[[:space:]]*[[:digit:]]' /etc/proftpd/proftpd.conf # umask 022 is a good standard umask to prevent new files and dirs umask 0113 0006 ~$ grep 'umask[[:space:]]*[[:digit:]]$' /etc/proftpd/proftpd.conf ~$