118 lines
5.4 KiB
Plaintext
118 lines
5.4 KiB
Plaintext
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 <space> 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 <space> 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 <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/)
|
||
|