Documentation du Dr FRAPPE

Ce wiki regroupe les résultats de mes expériences en informatique accumulés au cours de mes recherches sur le net.

Dans la mesure du possible, j'ai cité mes sources ; il en manque certainement… :-)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
logiciel:programmation:sed:start [2021/02/17 10:08] – ↷ Page déplacée de fr:logiciel:programmation:sed:start à logiciel:programmation:sed:start adminlogiciel:programmation:sed:start [2022/08/13 21:57] (Version actuelle) – modification externe 127.0.0.1
Ligne 3: Ligne 3:
 source : [[http://www.commentcamarche.net/faq/9536-sed-introduction-a-sed-part-i]] source : [[http://www.commentcamarche.net/faq/9536-sed-introduction-a-sed-part-i]]
  
-====== Première partie ======+===== Première partie =====
  
 Ce document est une introduction à la pratique et à l'utilisation de l'éditeur de flux "SED". Ce document est une introduction à la pratique et à l'utilisation de l'éditeur de flux "SED".
Ligne 9: Ligne 9:
 Il essaie de couvrir certaines fonctionnalités assez méconnues, pour ne pas dire "quasi inconnues", qui font de "SED" un outil indispensable dans la boîte à outils de tout Linuxien désireux de se rompre aux maniements et aux arcanes du traitement de fichiers via une console et un shell. Il essaie de couvrir certaines fonctionnalités assez méconnues, pour ne pas dire "quasi inconnues", qui font de "SED" un outil indispensable dans la boîte à outils de tout Linuxien désireux de se rompre aux maniements et aux arcanes du traitement de fichiers via une console et un shell.
  
-===== Présentation =====+==== Présentation ====
  
 Sed signifie "Stream EDitor" autrement dit "éditeur de flux", et plus précisément "éditeur de flux orienté ligne". De par sa conception et son mode de fonctionnement, Sed est un éditeur non-interactif. Sed signifie "Stream EDitor" autrement dit "éditeur de flux", et plus précisément "éditeur de flux orienté ligne". De par sa conception et son mode de fonctionnement, Sed est un éditeur non-interactif.
Ligne 28: Ligne 28:
 Notons que pour sélectionner la ou les ligne(s) sur la(les)quelle(s) elles doivent opérer, les commandes acceptent des numéros de lignes, des intervalles, ou encore des expressions régulières (notées RE ou regex). Notons que pour sélectionner la ou les ligne(s) sur la(les)quelle(s) elles doivent opérer, les commandes acceptent des numéros de lignes, des intervalles, ou encore des expressions régulières (notées RE ou regex).
  
-===== Introduction =====+==== Introduction ====
  
 Sed prend ses instructions (commandes) depuis la ligne de commandes ou depuis un fichier (script) et applique chaque instruction, dans l'ordre de leur apparition, à chaque ligne en entrée. Une fois que chaque instruction a été appliquée à la 1ère ligne d'entrée, la ligne est affichée (ou non, selon ses besoins) sur la sortie standard (l'écran, ou redirigée dans un fichier) et Sed procède alors à la lecture et au traitement de la ligne suivante et ainsi de suite jusqu'à la fin du fichier d'entrée (à moins qu'il ne rencontre une instruction de sortie explicite). Sed prend ses instructions (commandes) depuis la ligne de commandes ou depuis un fichier (script) et applique chaque instruction, dans l'ordre de leur apparition, à chaque ligne en entrée. Une fois que chaque instruction a été appliquée à la 1ère ligne d'entrée, la ligne est affichée (ou non, selon ses besoins) sur la sortie standard (l'écran, ou redirigée dans un fichier) et Sed procède alors à la lecture et au traitement de la ligne suivante et ainsi de suite jusqu'à la fin du fichier d'entrée (à moins qu'il ne rencontre une instruction de sortie explicite).
Ligne 82: Ligne 82:
 Et l'organigramme : Et l'organigramme :
  
-{{ fr:logiciel:programmation:sed:0-wpfpvyho-organigramme-sed-s-.png?400 |}}.+{{ logiciel:programmation:sed:0-wpfpvyho-organigramme-sed-s-.png?400 |}}.
  
-===== Syntaxe =====+==== Syntaxe ====
  
-==== Syntaxe générale ====+=== Syntaxe générale ===
  
-==== Syntaxe d'une commande ====+=== Syntaxe d'une commande ===
  
-==== Adressage ====+=== Adressage ===
  
-===== Les options (paramètres) =====+==== Les options (paramètres) ====
  
-===== Les commandes =====+==== Les commandes ====
  
-==== Les commandes basiques 1 ====+=== Les commandes basiques 1 ===
  
-=== flags ===+== flags ==
  
-==== Les commandes basiques 2 ====+=== Les commandes basiques 2 ===
  
-==== Les commandes avancées ====+=== Les commandes avancées ===
  
-=== Les commandes multi-lignes ===+== Les commandes multi-lignes ==
  
-=== Les mémoires tampons ===+== Les mémoires tampons ==
  
-=== Étiquettes ===+== Étiquettes ==
  
-=== Branchement inconditionnel ===+== Branchement inconditionnel ==
  
-=== Branchement conditionnel ===+== Branchement conditionnel ==
  
-====== Deuxième partie ======+===== Deuxième partie =====
  
-===== Les délimiteurs =====+==== Les délimiteurs ====
  
-==== Délimiteur de commande ====+=== Délimiteur de commande ===
  
-===== Délimiteur de motif ===+==== Délimiteur de motif =====
  
-===== Le métacaractère & =====+==== Le métacaractère & ====
  
-===== Les sous-expressions et références arrières =====+==== Les sous-expressions et références arrières ====
  
-==== Les sous-expressions ====+=== Les sous-expressions ===
  
-==== Les références arrières ====+=== Les références arrières ===
  
-==== Expression régulière précédente ====+=== Expression régulière précédente ===
  
-===== La négation =====+==== La négation ====
  
-===== Le regroupement de commandes =====+==== Le regroupement de commandes ====
  
-===== Le remplacement de variables =====+==== Le remplacement de variables ====
  
-===== Les expressions régulières =====+==== Les expressions régulières ====
  
-==== Les caractères d'échappement ====+=== Les caractères d'échappement ===
  
-==== Les extras ====+=== Les extras ===
  
-==== Les classes de caractères ====+=== Les classes de caractères ===
  
-===== Les différentes versions =====+==== Les différentes versions ====
  
-==== Unix ====+=== Unix ===
  
-==== Windows ====+=== Windows ===
  
-===== Debuggers =====+==== Debuggers ====
  
-===== Quand ne dois-je pas utiliser Sed ? =====+==== Quand ne dois-je pas utiliser Sed ? ====
  
-===== Limites connues des différentes versions =====+==== Limites connues des différentes versions ====
  
-===== Les références =====+==== Les références ====
  
-==== Livres ====+=== Livres ===
  
-==== Les liens ====+=== Les liens ===
  
-=== Débutants et initiés ===+== Débutants et initiés ==
  
-=== Gurus ===+== Gurus ==
  
-=== IRC ===+== IRC ==
  
-====== Troisième partie ======+===== Troisième partie =====
  
-===== Les exemples =====+==== Les exemples ====
  
-==== Substitutions ====+=== Substitutions ===
  
-=== nième occurence ===+== nième occurence ==
  
-=== Substituer les fins de lignes par un espace ===+== Substituer les fins de lignes par un espace ==
    
-==== Afficher un intervalle entre 2 motifs sans les motifs ====+=== Afficher un intervalle entre 2 motifs sans les motifs ===
  
-==== Gourmandise des expressions régulières ====+=== Gourmandise des expressions régulières ===
  
-==== La commande "n" ====+=== La commande "n" ===
  
-==== Inverser 2 lignes ====+=== Inverser 2 lignes ===
  
-==== Effacement d'une ligne et insertion plus loin ====+=== Effacement d'une ligne et insertion plus loin ===
  
-==== Dissocier les commentaires des commandes ====+=== Dissocier les commentaires des commandes ===
  
-==== Affichage conditionné ====+=== Affichage conditionné ===
  
-==== Émulation de grep ====+=== Émulation de grep ===
  
-=== Exemple 1 ===+== Exemple 1 ==
  
-=== Exemple 2 - Commande "x" ===+== Exemple 2 - Commande "x" ==
  
-=== Exemple 3 - Commandes "h" "H" "x" ===+== Exemple 3 - Commandes "h" "H" "x" ==
    
-==== Étiquettes, boucles et mémoires tampons ====+=== Étiquettes, boucles et mémoires tampons ===
  
-==== Supprimer deux lignes précédents un motif donné ====+=== Supprimer deux lignes précédents un motif donné ===
  
-==== Effacer les n dernières lignes ====+=== Effacer les n dernières lignes ===
  
-==== Émulation de "tac" (inverser les lignes d'un fichier) ====+=== Émulation de "tac" (inverser les lignes d'un fichier) ===
  
-==== Exemple de branchement inconditionnel ====+=== Exemple de branchement inconditionnel ===
  
-==== Exemple de branchement conditionnel (t) ====+=== Exemple de branchement conditionnel (t) ===
  
-==== Autre exemple de branchement conditionnel ====+=== Autre exemple de branchement conditionnel ===
  
-==== Exemple de branchement conditionnel (T) ====+=== Exemple de branchement conditionnel (T) ===
  
-==== Substitution avec tampons ====+=== Substitution avec tampons ===
  
-==== Décommenter les directives d'un fichier ====+=== Décommenter les directives d'un fichier ===
  
-==== Conversion de caractères ====+=== Conversion de caractères ===
  
-==== Mise en forme de texte 1 ====+=== Mise en forme de texte 1 ===
  
-=== Avec boucle conditionnée ===+== Avec boucle conditionnée ==
  
-=== Avec mémoire tampon ===+== Avec mémoire tampon ==
    
-==== Mise en forme de texte 2 ====+=== Mise en forme de texte 2 ===
  
-=== Méthode avec boucle ===+== Méthode avec boucle ==
  
-== Méthode avec mémoires tampons ==+= Méthode avec mémoires tampons =
    
-==== La commande "c" ====+=== La commande "c" ===
  
-===== Les fichiers de références pour les exemples ======+==== Les fichiers de références pour les exemples =====
  
-==== fich.txt ====+=== fich.txt ===
  
-==== fich2.txt ====+=== fich2.txt ===
  
-==== fich3.txt ====+=== fich3.txt ===
  
-==== adresses.txt ====+=== adresses.txt ===
  
-==== signature.txt ====+=== signature.txt ===
  
-==== prog.sed ====+=== prog.sed ===
    
-===== Discussions en rapport sur le forum =====+==== Discussions en rapport sur le forum ====