Insérer du texte dans un fichier
Introduction
Il est parfois utile de pouvoir insérer du texte en en-tête d'un ou plusieurs document(s), ou dans une partie bien précise du document (
avant ou après telle ou telle ligne).
L'éditeur de flux "sed" peut nous aider dans cette tâche et nous allons voir comment.
Syntaxe
Quel que soit la méthode (
insertion, ajout ou échange), la syntaxe reste la même, à savoir :
sed '{/motif/|/regexp/|n}{i|a|c}\<Texte à insérer>' fichier
Ajout de texte
Il existe trois façons d'insérer du texte dans un document :
- l'insertion avant (avec le paramètre "i" comme insertion)
- l'ajout après (avec le paramètre "a" comme après)
- le remplacement (avec le paramètre "c" comme changement)
Insérer une ligne avec "i"
La syntaxe est très simple, il suffit de désigner la ligne avant laquelle doit être insérée notre nouvelle ligne, soit par son numéro correspondant, soit par un motif. Dans le cas d'un motif une ligne sera insérée avant chaque ligne comportant ledit motif.
Exemple :
sed "16i\Notes : La négation s'obtient avec un point d'exclamation ! \n " fichier.txt
sed "/Conclusion/i\Notes : La négation s'obtient avec un point d'exclamation ! \n" fichier.txt
Ajouter une ligne avec "a"
La syntaxe est toujours aussi simple, il suffit de désigner la ligne après laquelle doit être insérée notre nouvelle ligne, soit par son numéro correspondant, soit par un motif. Dans le cas d'un motif une ligne sera insérée après chaque ligne comportant ledit motif.
Exemple :
sed "8a \"ed\" est un éditeur de texte orienté ligne. Il est utilsé pour créer, afficher\
, modifier ou encore manipuler des fichiers textes." fichier.txt
sed "/\"ed\"/a \"ed\" est un éditeur de texte orienté ligne. Il est utilsé pour créer, afficher\
, modifier ou encore manipuler des fichiers textes." fichier.txt
Échanger une ligne avec "c"
La syntaxe reste toujours la même, il suffit de désigner la ligne devant être substituée par notre nouvelle ligne, soit par son numéro correspondant, soit par un motif. Dans le cas d'un motif chaque ligne comportant ledit motif sera substituée par la nouvelle ligne.
Exemple :
sed "/14/c Divers paramètres peuvent être passer en fin d'expression, comme par exemple le paramètre \"g\" (pour global), pour une substitution globale de chaque occurrence" fichier.txt
sed "/global/c Divers paramètres peuvent être passer en fin d'expression, comme par exemple le paramètre \"g\" (pour global), pour une substitution globale de chaque occurrence" fichier.txt
----------------------------------------------------------------
Fichier de référence employé pour les exemples :
à la fin de cet article
A voir également
Communautés d'assistance et de conseils.
Publié par
jipicy -
Dernière mise à jour par marlalapocket