Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:systeme:sed [08/02/2011 15:02] smolski |
doc:systeme:sed [09/01/2013 05:48] smolski |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== SED ====== | + | ====== sed ====== |
- | ''sed'' signifie //Stream EDitor//, autrement dit //éditeur de flux// et plus précisément //éditeur de flux orienté ligne//. | + | * Objet : ''sed'' signifie //Stream EDitor//, autrement dit //éditeur de flux// et plus précisément //éditeur de flux orienté ligne//. |
+ | * Niveau requis : TOUS | ||
+ | * Commentaires : // sed est un outil éditeur en ligne. // | ||
+ | * Débutant, à savoir : | ||
+ | * [[manuel:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
+ | * [[manuel:bash]] En complément. | ||
===== Présentation ===== | ===== Présentation ===== | ||
''sed'' est souvent défini comme un éditeur de texte en ligne non-interactif. | ''sed'' est souvent défini comme un éditeur de texte en ligne non-interactif. | ||
- | - Il lit les lignes d'un fichier une à une (ou provenant de l'entrée standard), sans traiter nécessairement tout le texte du fichier en cours (comme le font [[commande:editeur:vim]] ou [[commande:editeur:nano]] par exemple) ; | + | - Il lit les lignes d'un fichier une à une (ou provenant de l'entrée standard), sans traiter nécessairement tout le texte du fichier en cours (comme le font [[manuel:vim]] ou [[manuel:nano]] par exemple) ; |
- leur applique un certain nombre de commandes d'édition ; | - leur applique un certain nombre de commandes d'édition ; | ||
- et renvoie les lignes résultantes sur la sortie standard, __sans modification__ du fichier traité. | - et renvoie les lignes résultantes sur la sortie standard, __sans modification__ du fichier traité. | ||
Ligne 253: | Ligne 258: | ||
---- | ---- | ||
\\ | \\ | ||
+ | <code bash> | ||
+ | $ sed -e "/cerises/s/^/#/" test1.txt</code> | ||
+ | <code>toto et titi aiment les abricots. | ||
+ | toto préfère les Fraises. | ||
+ | #titi les cerises. | ||
+ | TOTo et TITI sont des chipoteurs du jardin. | ||
+ | </code> | ||
+ | Ainsi, nous avons commenté uniquement la ligne du fichier //test1.txt// contenant le motif : **cerises**. | ||
==== La fonction de suppression d ==== | ==== La fonction de suppression d ==== | ||
Ligne 289: | Ligne 302: | ||
//Voir option **n** précédente.// | //Voir option **n** précédente.// | ||
- | === La commande l === | + | === La commande l (la lettre L en minuscule) === |
La commande "''l''" (list) affiche la ligne sélectionnée sur la sortie standard avec en plus les caractères de contrôles en clair avec leur code ASCII (deux chiffres en octal). | La commande "''l''" (list) affiche la ligne sélectionnée sur la sortie standard avec en plus les caractères de contrôles en clair avec leur code ASCII (deux chiffres en octal). | ||
Ligne 442: | Ligne 455: | ||
La commande: | La commande: | ||
- | sed -e "s/\ ([0-9][0-9]*\ )/aa\ 1aa/" <fichier> | + | sed -e "s/\([0-9][0-9]*\)/aa\1aa/" <fichier> |
- | La sous-expression (sous-chaîne) \ ([0-9][0-9]*\) désigne un ou plusieurs chiffres, chacun sera entouré des caractères aa. \\ | + | La sous-expression (sous-chaîne) \([0-9][0-9]*\) désigne un ou plusieurs chiffres, chacun sera entouré des caractères aa. \\ |
La chaîne : | La chaîne : | ||
to2to | to2to |