Demo2 (partie 2)
-----------------------------------------------
------------ CINQUIEME PARTIE -----------------
-----------------------------------------------
Dans cette partie, pour exécuter les exemples de commandes, il vous faut copier le fichier /etc/passwd dans le répertoire courant.
SED et AWK
----------
sed : un EDITEUR de fichier texte NON-interactif.
awk : un LANGAGE pour le traitement de "motifs" (pattern).
SED
---
sed reçoit ses entrées d'un fichier ou du clavier (stdin) et affiche ses résultats à l'écran (stdout). sed, tout comme grep, traite les données en entrées une ligne à la fois. Par contre, contrairement à grep, sed permet de modifier le contenu recu en entree.
Voici les commandes de sed que nous verront :
s = substitute (remplacer)
d = delete (supprimer)
p = print (afficher)
Le format général de la commande sed est :
sed -e 'command1' [-e 'command2'] [...] fichier
Substitution :
--------------
Commande : 's/motif_a_remplacer/nouveau_motif/g'
(Le 'g' à la fin est optionnel. S'il est présent, toutes les occurences du motif_a_remplacer seront modifiées et non seulement la première occurence de chaque ligne)
Exemple : remplace la premiere occurence de "comptoir" de chaque ligne par "allo" :
% sed s/comptoir/allo/ passwd
remplace toutes les occurences de "comptoir" par "allo" :
% sed s/comptoir/allo/g passwd
substitution multiples, "comptoir" devient "allo" et "Usager" devient "user", partout dans le texte :
% sed -e s/comptoir/allo/g -e s/Usager/user/g passwd
Suppression :
-------------
Commande : '#ligne_debut[, #ligne_fin]d'
(c'est le 'd' à la fin qui indique qu'il faut supprimer les lignes spécifiées)
Exemple :
supprimer la premiere ligne :
% sed 1d passwd
supprimer les dix première lignes :
% sed 1,10d passwd
supprimer toutes les lignes :
% sed -n '' passwd
Afficher :
----------
Commande : '/motif/p' ou '#ligne_debut[, #ligne_fin]p'
(c'est le 'p' à la fin qui indique qu'il faut afficher les lignes spécifiées)
Exemple :
afficher la ligne qui contient "comptoir" :
% sed -n '/comptoir/p' passwd
afficher les dix premières lignes :
% sed -n '1,10p' passwd
AWK
---
awk est un langage de programmation très complet. Sa syntaxe est fortement inspirée du langage C. awk permet de manipuler les champs.
Le format général de la commande awk est :
awk [-F"séparateur_de_champs"] '{commande}' fichier
Exemples d'utilisation :
------------------------
affichage de champs particuliers :
% awk '{ print $0 }' passwd
% awk '{ print $1 }' passwd
% awk '{ print $2 }' passwd
% awk '{ print $1 $2} passwd
% awk -F":" '{ print $1 $3 }' passwd
affichage de texte statique :
% awk '{ print "" }' passwd
% awk '{ print "allo" }' passwd
affichage combiné de texte tiré du fichier et de texte statique :
% awk -F":" '{ print $1 " " $3 }' passwd
% awk -F":" '{print "login id is : ", $1}' passwd
------------ CINQUIEME PARTIE -----------------
-----------------------------------------------
Dans cette partie, pour exécuter les exemples de commandes, il vous faut copier le fichier /etc/passwd dans le répertoire courant.
SED et AWK
----------
sed : un EDITEUR de fichier texte NON-interactif.
awk : un LANGAGE pour le traitement de "motifs" (pattern).
SED
---
sed reçoit ses entrées d'un fichier ou du clavier (stdin) et affiche ses résultats à l'écran (stdout). sed, tout comme grep, traite les données en entrées une ligne à la fois. Par contre, contrairement à grep, sed permet de modifier le contenu recu en entree.
Voici les commandes de sed que nous verront :
s = substitute (remplacer)
d = delete (supprimer)
p = print (afficher)
Le format général de la commande sed est :
sed -e 'command1' [-e 'command2'] [...] fichier
Substitution :
--------------
Commande : 's/motif_a_remplacer/nouveau_motif/g'
(Le 'g' à la fin est optionnel. S'il est présent, toutes les occurences du motif_a_remplacer seront modifiées et non seulement la première occurence de chaque ligne)
Exemple : remplace la premiere occurence de "comptoir" de chaque ligne par "allo" :
% sed s/comptoir/allo/ passwd
remplace toutes les occurences de "comptoir" par "allo" :
% sed s/comptoir/allo/g passwd
substitution multiples, "comptoir" devient "allo" et "Usager" devient "user", partout dans le texte :
% sed -e s/comptoir/allo/g -e s/Usager/user/g passwd
Suppression :
-------------
Commande : '#ligne_debut[, #ligne_fin]d'
(c'est le 'd' à la fin qui indique qu'il faut supprimer les lignes spécifiées)
Exemple :
supprimer la premiere ligne :
% sed 1d passwd
supprimer les dix première lignes :
% sed 1,10d passwd
supprimer toutes les lignes :
% sed -n '' passwd
Afficher :
----------
Commande : '/motif/p' ou '#ligne_debut[, #ligne_fin]p'
(c'est le 'p' à la fin qui indique qu'il faut afficher les lignes spécifiées)
Exemple :
afficher la ligne qui contient "comptoir" :
% sed -n '/comptoir/p' passwd
afficher les dix premières lignes :
% sed -n '1,10p' passwd
AWK
---
awk est un langage de programmation très complet. Sa syntaxe est fortement inspirée du langage C. awk permet de manipuler les champs.
Le format général de la commande awk est :
awk [-F"séparateur_de_champs"] '{commande}' fichier
Exemples d'utilisation :
------------------------
affichage de champs particuliers :
% awk '{ print $0 }' passwd
% awk '{ print $1 }' passwd
% awk '{ print $2 }' passwd
% awk '{ print $1 $2} passwd
% awk -F":" '{ print $1 $3 }' passwd
affichage de texte statique :
% awk '{ print "" }' passwd
% awk '{ print "allo" }' passwd
affichage combiné de texte tiré du fichier et de texte statique :
% awk -F":" '{ print $1 " " $3 }' passwd
% awk -F":" '{print "login id is : ", $1}' passwd
