Merdum!...j'ai oubli� de joindre mon doc chao! R. ---------------- Moi j'avais trouv� dans un bouquin il y a ...ouh! longtemps (je d�conne, mais je sais qu'on ne le trouve plus). Il y a peut-�tre d'autres pistes bibliographiques, mais j'ai un support que j'avais fait avec msWord (d�sol�, c'�tait il y a ....). Je t'en adresse un extrait en html. Si �a te convient, c'est bien Sinon, va falloir que je finalise tout �a en formats standards et que je colle �a sur ce putain de site que �a fait 3 ans que je dois le faire, et que je trouve pas le temps. R. PS (je disparais 2 jours...� +)
Bernard Lambey wrote: > > Bonjour > > Question Troumad = > > J'aimerai trouver une chaine 'pattie_3.html' dans un ensemble de > > fichier. Elle doit s'y trouver au moins une fois. Comment faire? > > R�ponse Rosaire = > grep 'pattie_3.html' ton_ensemble_de_fichiers > R. > > Et l'emmerdeur ajoute = > O� trouver,tout TOUT sur grep avec des exemples ? > La page man est ... euhhh !!! une page man .... > Bernard L. > > ------------------------------------------------------------------------ > Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft? > Rendez-vous sur "http://www.mandrakestore.com"
grep
grep [options] arg1 argn...
La commande grep extrait les lignes des fichiers dont le(s) nom(s) est fourni en argument, en fonction de leur contenu.
Le premier argument est une expression, modèle de chaine à rechercher dans le ou les arguments suivants (argn). Quelques options intéressantes permettent de modifier le fonctionnement de cette commande.
-v renvoi des lignes ne contenant pas la chaine modèle.
-i ignorer la distinction majuscule/ minuscule.
-n afficher numéros des lignes dans le fichier analysé.
Des symboles peuvent être utilisés dans l’argument modèle de chaine à rechercher.
Ex
: "^r" le caractère ^ symbolise le
début de ligne. Ici le modèle demande l’extraction
des lignes commençant par r.
":$" le
caractère $ symbolise la fin de ligne. Ici, seront
extraites les lignes se terminant par : .
"^..e" le
caractère . (point) représente
un caractère quelconque.
"^..[aoe] " les
crochets permettent de symboliser une liste. Ici , seront extraites
les lignes dont le 3ème caractère est un a, un o ou un
e. Il est possible d’utiliser la notion d’intervalle
grâce aux tirets.
"^[a-e] " Le premier
caractère des lignes extraites est une lettre parmi a, b, c,
d, e.
"^[^0-9] L’accent ^ dans les
crochets introduit la notion de complément. Ici, seront
extraites les lignes ne commençant pas par un chiffre.
sed
sed [options] commandes argn
La commande sed lit une à une les lignes des fichiers dont les noms figurent en argument et y applique les commandes qui lui sont introduites par la lettre clé e.
La commande p demande l’affichage de la ligne. Cette commande peut être réduite par un adressage.
Ex
: sed -n -e 20p /nom_fichier
en l’absence de l’option
-n toutes les lignes auraient été affichées
avec la ligne 20 en double.
L’adressage peut préciser un intervalle.
Ex
: sed -n -e 18,21p /nom_fichier
sed -n -e 18,$p /nom_fichier #Dans
ce cas un message d’erreur est renvoyé, car le signe
$
est utilisé par le Shell. D’où les
simples quotes.
sed -n -e ‘18,$p’ /nom_fichier
Une autre forme d’adressage est dite par "contexte". Une ou les deux bornes peuvent lui être fournies sous forme de chaines de caractères.
Ex
: sed -n -e ‘18,/Shellc/p’ /nom_fichier #La 1ère
ligne est la 18ème et la dernière
contient
la chaine "Shellc"
sed -n -e /bidon/,/Shellc/p
/nom_fihier
Les chaines peuvent être remplacées par des expressions régulières.
Ex
: sed -n -e ‘/^a/,/^s/p’ nom_fichier #Extraction de
toutes les lignes entre celle commençant
par un a
et celle commençant par un e.
cut
cut -cliste [ fichier ... ]
cut -fliste [ -dcaractere ] [ -s ] [ fichier ... ]
cut permet de conserver des caractères ou des champs dans chaque ligne d'une liste de fichier. Dans le cas de caractères la taille des colonnes est fixe, dans le cas de champs séparés par un caractère leur taille est variable. Les deux formes de la commande s'excluent. Les options sont :
liste
Représente une liste de chiffres séparés
par un virgule (ordre croissant) et
optionnellement par un - pour
spécifier une plage (1,3,5 ou 1,4-7,9 )
-cliste la liste donne la position des caractères à conserver.
-fliste la
liste donne la position des champs à garder. Les lignes qui ne
contiennent pas
de délimiteur sont affichées
inchangées.
-dcar Le
caractère qui suit -d est le délimiteur de champ. Par
défaut c'est la tabulation
qui est utilisée. Les
caractères comme l'espace ou les caractères spéciaux
du
Shell doivent être encadrés par des "
.
-s Demande de sauter les lignes sans délimiteurs.
Ex
: cut -c1 /etc/passwd #pour obtenir l’initiale du nom de chacun
des utilisateurs
potentiels du système.
cut -c10-15 /etc/passwd #extraction des colonnes 10 à 15
cut -d: -f1,3 /etc/passwd #liste des utilisateurs et leur identifiant. Lorsque la liste est introduite par la lettre f, il est nécessaire de préciser le caractère séparateur de champ avec la lettre d. Ce caractère, s’il est significatif pour le Shell, doit être protégé (cf. commande grep).
cut -d: -f1,3-5 /etc/passwd #Extraction des champs 1, 3, 4, 5.
cut -c1 -d: -f1,3 /etc/passwd #provoque une erreur (cf. Remarque ci-dessous).
Remarque : on ne peut extraire à la fois des champs et des caractères (colonnes), comme dans le dernier exemple ci dessus.
Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft? Rendez-vous sur "http://www.mandrakestore.com"
