BUT2/SCR/SCR1.2/TP12/reponse.txt

118 lines
5.4 KiB
Plaintext
Raw Normal View History

2023-10-23 13:23:36 +02:00
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/)