alias grep='grep --color' =>permet de créer ou changer l'opération d'une commande. unalias => suprime l'alias créer -E ou egrep: interprètre les motif de manière étendue comme () -i: ne distingue pas majuscule et minuscule -v:affiche les lignes qui ne corresondent pas -w: affiche le nom des fichier et le nombres de lignes ou l'expression correspond -c: -n: indique que la chaine indiquer est un mot (non collé à d'autres lettres) -L: -l: affiche les noms de fichier qui contiennent la chaines -r: =recursive, essaye tout les fichier d'un répertoire. (comme find) [[:alnum:]] pour alphanumérique 1) afficher les lignes du fichier sysctl.conf qui contiennent ipv4 ou ipv6 entre deux symboles ”.” =>egrep '\.ipv[46]\.' DIR/sysctl.conf 2)afficher les lignes du fichier sysctl.conf qui ne commencent pas par le symbole ”#” =>egrep '^([^#]|$)' DIR/sysctl.conf =>egrep -v '^#' DIR/sysctl.conf 3)afficher les lignes du fichier ca-certificates.conf qui contiennent des noms de certi- ficats avec la chaˆıne de caract`eres root entre deux symboles ”_”. Les lettres dans root peuvent ˆetre en minuscule ou en majuscule =>grep -i _root_ DIR/ca-certificates.conf 4)afficher les lignes du fichier ca-certificates.conf qui contiennent des noms de certi- ficats avec la chaˆıne de caract`eres Class entre deux symboles ”_”, et suivie d’un chiffre. =>grep '_Class_[[:digit:]]' DIR/ca-certificates.conf 5)afficher le nom du fichier du r ́epertoire DIR/ o`u se trouve KEYMAP. On ne veut que le nom du fichier qui contient KEYMAP. On ne veut pas l’affichage des lignes qui contiennent KEYMAP =>grep -rl 'KEYMAP' DIR 6)afficher les lignes du fichier Xorg.0.log qui contiennent (au moins) une expression entre parenth`eses =>egrep '\([^)]+)' DIR/Xorg.0.log 7)Le fichier krb5.conf contient des noms de machines d’une certaine forme (par exemple, lithium.lcs.mit.edu ou mit.edu. Le nombre de fois o`u le symbole . (dot) apparaˆıt dans la composition du nom est quel- conque. Afficher les lignes de ce fichier qui contiennent des noms de cette forme. =>egrep -w '([^/ ]+\.)+([^/ ]+)' DIR/krb5.conf 8)Afficher les lignes du fichier syslog qui contiennent (au moins) une chaˆıne de caract`eres form ́ee de 4 nombres s ́epar ́es par le symbole . (dot) (comme : 172.16.1.34). =>egrep '(([[:digit:]]+)\.){3,}[[:digit:]]+' DIR/syslog 9)fficher les lignes du fichier sensors.conf qui contiennent des expressions sous forme de produits o`u l’op ́erateur est entour ́e de caract`eres comme 3.3 * 0.95 ou 5 * 0.95 =>egrep ' [-+*/] ' DIR/sensors.conf 10)Le fichier de configuration de Name Service Cache s’appelle nscd.conf. Les lignes non comment ́ees (dont le premier caract`ere autre que n’est pas ”#”) permettent de configurer des services. Par exemple, on a : enable-cache passwd yes Afficher toutes les lignes non comment ́ees de ce fichier, dont la colonne du milieu contient soit passwd, soit services. =>egrep '^[[:space:]]*[^[:space:]#][^[:space:]]*[[:space:]]+(passwd|services)[[:space:]]' DIR/nscd.conf 11)afficher toutes les lignes du fichier man db.conf qui contiennent (au moins) deux chemins absolus (par exemple : /bin /usr/share/man), qui ne se suivent pas forc ́ement. =>egrep '/([^/'\0']+/)*[^/'\0']*[[:space:]].*/([^/'\0']+/)*[^/'\0']*' DIR/man_db.conf 12)Sans utiliser un ́editeur de texte int ́eractif, sans modifier le fichier syslog, supprimer toute ligne dont le dernier caract`ere autre que est . (dot), en pla ̧cant le r ́esultat de la transformation dans le fichier sub-syslog. =>sed '/\.[[:space:]]*$/d' DIR/syslog > DIR/sub-syslog 13)Supprimer toute occurrence de la chaˆıne de caract`eres RP2-13, et ́ecrire le r ́esultat de la transforma- tion correspondante de auth.log dans sub-auth.log =>sed 's/RP2-13//g' DIR/auth.log > DIR/sub-auth.log 14)commenter (ajouter un symbole ”#” au debut de) toutes les lignes non commentees qui commencent par Include = en mettant le resultat dans le fichier pacman-v1.conf. =>sed '/^Include =/i\#' DIR/pacman.conf > DIR/pacman-v1.conf 15)creer un fichier sysctl-v1.conf qui contient les mˆemes lignes que le fichier sysctl.conf, mais dans lequel on supprime le premier symbole ”#” de chaque ligne qui contient soit ipv4, soit ipv6, entre deux symboles ”.” =>sed '/[.]ipv[46][.]/s/^#//' DIR/sysctl.conf > DIR/sysctl-v1.conf 16)on veut remplacer dans chaque ligne de daemon.log qui se termine par eth0.0’, cette derni`ere occurrence de eth0.0 par eth1.0. On veut enregistrer uniquement les lignes ainsi trans- form ́ees dans le fichier sub-daemon.log. SED Stream E D -> lis ligne par ligne (regarde si il faut appliquer un changement puis passe à la suivante) -affiche du texte au début, -a la fin, -remplace certaines parties -on peut également remplacer qucertaines lignes (ex: 1 ligne sur 3) -> il est rapide, ne fait pas de recherche pas de remplacement SYNTAXE: sed traitement fichier sed [line_number]basic-command[\text] [input-file] sed [/motif/]basic-command[\text] [input-file] sed s/motif/replacement/[option/] [input-file] -> changement d'un interval de lignes, ou d'une ligne qui contient une expression régulière (motif) (placé entre des /) commande basic: -n n'affiche pas tout.. p affiche toutes les lignes transformé malgrés le -n s remplace le motif par ce que l'on souhaite g : option qui permet de continuer même après avoir trouvé un 1er motif i insert un texte a append (ajoute à la fin le texte de notre choix a/text/)