BUT2/SCR/SCR1.2/TP12/reponse.txt
2023-10-23 13:23:36 +02:00

118 lines
5.4 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 dun 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 laffichage 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 dune 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 lop ́erateur est entour ́e de caract`eres <space> comme 3.3 * 0.95 ou
5 * 0.95
=>egrep ' [-+*/] ' DIR/sensors.conf
10)Le fichier de configuration de Name Service Cache sappelle nscd.conf. Les lignes non
comment ́ees (dont le premier caract`ere autre que <space> nest 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 <space> 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/)