Bonsoir tout le monde
S'il vous plait quelqu'un pourrait m'expliquer ça veut dire quoi cette commende:
C'est urgent s'il vous plaitCode:cat passwd | grep "^[^0-9][^0-9]*:"
Merci beaucoup d'avance
Version imprimable
Bonsoir tout le monde
S'il vous plait quelqu'un pourrait m'expliquer ça veut dire quoi cette commende:
C'est urgent s'il vous plaitCode:cat passwd | grep "^[^0-9][^0-9]*:"
Merci beaucoup d'avance
Grace a cette commande, tu cherche dans le fichier passwd les lignes commencant par un chiffre compris entre 0 et 9 suivi d'un autre chiffre compris entre 0 et 9, suivi de n'importe quel caractère et se terminant (fin de ligne) par un :
Je crois que c'est ça; corriger moi si je me trompe ;)
merci beaucoup je comprends maintenant, mais il faut dire que j'ai encore des problèmes à comprendre le code linux
par exemple celui là
:oops:Code:ls | grep "[mM]\{2\}"
ls permet de lister le contenu de ton repertoire courant
le tube permet de prendre la sortie de la commande ls et de l'envoyer dans le grep qui permet de filtrer...
ici, normalement, il te cherchera tout les fichiers ou dossiers de ton repertoire courant commencant par deux M ou m qui se suivent ;)
les \ permettent de banaliser les accolades ;)
si tu veux pas les banalisées, tu met grep -e ou bien egrep :)
celà veut dire quoi "banaliser les acolades"?
cette prtie précisémmentCode:\{2\}"
J'arriverai pas a t'expliquer sa :$, je sais plus pourquoi exactement...
Dsl, de toute façon je vais aller me coucher la, il se fait tard :roll:
Bonne nuit à toi ;) et puis si ta une question sur les commandes, pense à regarder les pages man la commande en question car généralement, c bien expliqué ce que la commande fais exactement...
Pour voir les pages man, il te suffit de taper:
Je te conseil aussi de lire la FAQ vu que tu as l'air de débuté ;)Code:
1
2 man TaCommande man grep (par exemple)
Et puis le meilleur moyen d'apprendre, c'est la pratique...
Allez bonne nuit et @+
Et bien puisque tu le demande : :roll:Citation:
Envoyé par bucheron67
Cette commande recherche plus précisément une ligne dans le fichier passwd qui commence ('^' représente un début de ligne) par un caractère qui n'est pas un chiffre (entouré par [] c'est une classe de caractère (autrement dit un ensemble de caractère peut être reconnu à cet endroit), dans une classe de caractère, écrire c1-c2 c'est prendre tous les caractères entre c1 et c2, ici donc 0-9 désigne tous les chiffres de 0 à 9, mais le premier caractère de la classe de caractère est '^', ceci indique que la classe de caractère est en fait le complémentaire de la classe de caractère qui suit, donc '[^0-9]' désigne bien : tous les caractères sauf les chiffres), puis une suite (le * signifie 0 ou plus fois l'élément qui le précède, donc ici 0 ou plus '[^0-9]') de caractères qui ne sont pas des chiffres, se finissant par un ':' (qui n'est pas forcément en fin de ligne).
Autrement dit, le but de cette commande est de récupérer tous les utilisateurs qui n'ont pas de chiffres dans leur login.
(perso j'aurais plutôt utilisé '[^0-9#]' pour éviter de reconnaître un commentaire par hasard mais bon...)
--
Jedaï
Les accolades n'ont pas de sens particulier normalement, '{' dans une regex de grep (sans l'option -e) veut simplement dire "il doit y avoir le caractère '{' ici". Mais si tu les échappes (tu les précèdes d'un '\' antislash), elles acquièrent un sens : '\{n,m\}' veut dire "l'élément précédent" répété de n à m fois. Ce que fait l'option -e ou l'emploi de egrep plutôt que de grep c'est accorder ce sens aux accolades par défaut, on peut alors écrire directement '{n,m}', mais on est obligé d'écrire '\{' pour reconnaître une vraie accolade maintenant ! :) (personellement je préfère egrep parce que je trouve les regexs qu'il forme plus lisible, en effet il y a rarement des accolades dans les textes à reconnaître, alors qu'on a souvent besoin de la fonctionnalité '{n,m}', de plus egrep affecte de la même manière un certain nombre d'autres caractères spéciaux)Citation:
Envoyé par Spacy_green
--
Jedaï
:oops::oops::oops: merci Jedai :), comme quoi je me souviens plus de S21 8O, j'ai complètement oublié les ^ dans les crochets, honte à moi :sm:
Mouarf, j'aime pas les regexp, je crois que vous avez compris pourquoi maintenant :p, mais bon à l'avenir je ne posterais que si je suis sur :aie: