Grep ? Besoin d'aide

Fermé
Oroi - Modifié par Oroi le 7/05/2014 à 00:47
 Oroi - 7 mai 2014 à 12:04
Bonjour,

Je suis actuellement à la recherche d'un bon tutoriel afin de m'aider à progresser dans la compréhension de la commande grep.

Malheureusement après plusieurs recherche je ne trouve pas de contenus qui soit plus avancé, beaucoup d'explication sur les options mais pas beaucoup d'exemple concret ou exercice.

Voici le genre de question que je dois résoudre pour situer le niveau (je ne vous demande pas de la résoudre ^^) :
" A l'aide d'un minimum de commandes (une seule devrait suffire), créez un fichier qui contient, de façon triée, la liste des identifiant des personnes dont le UID est un nombre pair suivi de deux tabulations puis du chemin de son shell par défaut. Travaillez à partir du fichier /etc/passwd qui contient la liste des utilisateurs."

Merci pour vos réponse.

3 réponses

BigBrother_ Messages postés 52 Date d'inscription lundi 21 avril 2014 Statut Membre Dernière intervention 21 juillet 2014 4
7 mai 2014 à 03:35
moi j'utilise grep avec des pipe quand je fais des ls ou alors en cherchant des processus.
par exemple
ls | grep untruc
te rend seulement les noms de fichiers comportant untruc
j'espère que ça t'aide...
0
jivef Messages postés 927 Date d'inscription mercredi 11 août 2004 Statut Membre Dernière intervention 12 novembre 2020 306
Modifié par jivef le 7/05/2014 à 03:59
Bonjour,
la commande grep ne suffira pas.

De toute façon, il te faudra utiliser les expressions rationnelles car tu veux choisir un certain type de caractères.
Dans ton cas, les chiffres paires [02468]
ensuite, il faut que tu travaille sur les colonnes du fichier /etc/passwd car malgré les apparences passwd comporte des colonnes dont le séparateur est ";"
Utilise un pipe puis derrière le pipe, tu mettras la commande cut en précisant le séparateur ";" et en donnant le numéro du champs correspondant au shell.

T'en dire plus ce serait te donner la commande complète et je ne pense pas que ce serait te rendre service.

J'en ai déjà dit beaucoup.

Sinon, pour le tutoriel de grep, je pense que man est pas mal...
man grep.
Il y a grep, egrep et fgrep, grep est généraliste, egrep ne travaille quasiment que sur les regexp quant à fgrep, au contraire, il ne gère pas les regexp. (regexp = "expression rationnelles", souvent traduit à tort par "expression régulières").

Bon courage et à bientôt.
Jonas.
0
Merci :) !
0
salut,

le séparateur de
/etc/passwd
est
:
(deux points).

créez un fichier qui contient, de façon triée[...]
triée selon quel critère ?

une seule [commande] devrait suffire
Oui,
awk
si on ne considère pas que c'est un langage, mais une simple commande, alors pourquoi pas en
perl
?
0
jivef Messages postés 927 Date d'inscription mercredi 11 août 2004 Statut Membre Dernière intervention 12 novembre 2020 306
Modifié par jivef le 7/05/2014 à 05:15
Désolé pour le séparateur, tu as raison ":" c'est une boulette de fin de journée, avec les yeux qui commencent à piquer.
cut -d":" pour le séparateur donc.

Il est vrai que ce qu'il demande n'est pas clair, mais on peut certainement le faire avec awk en économisant les pipes.
Cela dit, si c'est un étudiant qui débute dans l'utilisation des scripts, ça peut être un peu coton...
0
Utilisateur anonyme
7 mai 2014 à 05:45
il y a quatre opérations a effectuer :
• sélection
• extraction
• tri
• redirection
si on ne tient pas compte de la redirection, moins de trois commandes, je ne vois pas :(

je ne râle pas contre vous, mais contre ceux qui sont censés enseigner.
0