SED(1) Commandes de l'utilisateur SED(1)
NOM
sed - editeur de flux pour filtrer et transformer du texte
SYNOPSIS
sed [-V] [--version] [--help] [-n] [--quiet] [--silent]
[-l N] [--line-length=N] [-u] [--unbuffered]
[-E] [-r] [--regexp-extended]
[-e script] [--expression=script]
[-f fichier-script] [--file=fichier-script]
[script-si-pas-autre-script]
[fichier...]
DESCRIPTION
Sed est un editeur de flux. Un editeur de flux est utilise pour
realiser des transformations basiques de texte sur un flux entrant (un
fichier ou une entree d'un pipeline). Bien qu'assez similaire a un
editeur qui permet des modifications de script (tel que ed), sed
fonctionne en seulement une passe sur l'entree(s), et est donc plus
efficace. Mais c'est sa capacite a filtrer du texte dans un tube qui
le distingue particulierement des autres types d'editeurs.
-n, --quiet, --silent
supprimer l'affichage automatique de l'espace de motif
--debug
annoter l'execution du programme
-e script, --expression=script
ajouter le script aux commandes a executer
-f fichier-script, --file=fichier-script
ajouter le contenu du fichier-script aux commandes a executer
--follow-symlinks
suivre les liens symboliques lors du traitement sur place
-i[SUFFIX], --in-place[=SUFFIX]
editer les fichiers sur place (fait des sauvegardes si SUFFIX
est fourni)
-l N, --line-length=N
indiquer la longueur de retour a la ligne souhaitee pour la
commande << l >>
--posix
desactiver toutes les extensions GNU.
-E, -r, --regexp-extended
utiliser des expressions rationelles etendues dans le script
(pour la portabilite, utiliser POSIX -E).
-s, --separate
considerer les fichiers comme separes plutot qu'un long flux
unique continu.
--sandbox
operer en mode bac a sable (desactiver les commandes e/r/w).
-u, --unbuffered
charger des quantites minimales de donnees a partir des fichiers
d'entree et vider les tampons de sortie plus souvent
-z, --null-data
separer les lignes avec des caracteres NULL
--help afficher l'aide-memoire et quitter.
--version
afficher les informations de version et quitter.
Si aucune option -e, --expression, -f ou --file n'est fournie, alors le
premier argument qui n'est pas une option est considere comme le script
sed a interpreter. Tous les arguments restants sont des noms de
fichiers d'entree ; l'entree standard est lue si aucun fichier d'entree
n'est specifie.
Page d'accueil de GNU sed : . Aide
generale pour l'utilisation des logiciels GNU :
. Envoyer les rapports de bogue a :
.
SYNOPSIS DES COMMANDES
Il ne s'agit que d'un bref synopsis des commandes sed pour servir
d'aide-memoire pour ceux et celles qui connaissent deja sed ; vous
devrez consulter d'autres documentations (comme le document texinfo)
pour avoir une description plus complete.
<< commandes >> sans addresse
: etiquette
Etiquette pour les commandes b et t.
#commentaire
Le commentaire s'etend jusqu'au prochain changement de ligne (ou
a la fin d'un fragment de script -e).
} L'accolade fermante d'un bloc { }.
Commandes sans ou avec une adresse
= Afficher le numero de ligne actuel.
a \
texte Ajouter texte, qui a chaque changement de ligne incorpore
precede d'une barre oblique inverse.
i \
texte Inserer texte, qui a chaque changement de ligne incorpore
precede d'une barre oblique inversee.
q [code_de_retour]
Quitter immediatement le script sed sans traiter plus d'entrees,
excepte si l'affichage automatique n'est pas desactive, l'espace
de motifs actuels sera affiche. Le code de retour est une
extension GNU.
Q [code_de_retour]
Quitter immediatement le script sed sans traiter plus d'entrees.
C'est une extension GNU.
r nom_fichier
Ajouter le texte lu sur nom_fichier.
R nom_fichier
Ajouter une ligne lue dans nom_fichier. Chaque invocation de la
commande lit une ligne sur le fichier. Cela est une extension
GNU.
Commandes qui acceptent des intervalles d'adresses
{ Debuter un bloc de commandes (qui finit avec << } >>).
b etiquette
Sauter a etiquette ; si etiquette est ommis, sauter sur la fin
du script.
c \
texte Remplacer les lignes selectionnees par le texte, qui a chaque
changement de ligne incorpore precede d'une barre oblique
inversee.
d Effacer l'espace de motif. Commencer un nouveau cycle.
D Si l'espace de motif ne contient aucun changement de ligne,
commencer un nouveau cycle normal si la commande d est emise.
Sinon, effacer le texte dans l'espace de motif jusqu'au premier
changement de ligne, et relancer le cycle avec l'espace de motif
resultant, sans lire un changement de ligne d'entree.
h H Copier/ajouter l'espace de motif a l'espace de stockage.
g G Copier/ajouter l'espace de stockage a l'espace de motif.
l Enumerer la ligne en cours sous une forme << visuellement non
ambigue >>.
l largeur
Enumerer la ligne en cours sous une forme << visuellement non
ambigue >>, en la coupant aux caracteres largeur. C'est une
extension GNU.
n N Lire/ajouter la prochaine ligne d'entree dans l'espace de motif.
p Afficher l'espace de motif actuel.
P Afficher jusqu'au premier changement de ligne integre dans
l'espace de motif actuel.
s/regexp/remplacement/
Essayer de faire correspondre regexp avec l'espace du motif. En
cas de reussite, remplacer la portion correspondante avec
remplacement. Le remplacement peut contenir le caractere special
& pour faire reference a la portion de l'espace de motif qui
correspond, et les caracteres speciaux \1 a \9 pour faire
reference aux sous-expressions mises en correspondance dans le
regexp.
t etiquette
Si un s/// a reussi une substitution depuis que la derniere
ligne d'entree a ete lue et depuis la derniere commande t ou T,
alors sauter a l'etiquette ; si l'etiquette est omise, sauter a
la fin du script.
T etiquette
Si aucun s/// n'a reussi de substitution depuis la lecture de la
derniere ligne d'entree et depuis la derniere commande t ou T,
alors sauter a l'etiquette ; si l'etiquette est omise, sauter a
la fin du script. C'est une extension GNU.
w nom_fichier
Ecrire l'espace de motif actuel dans nom_fichier.
W nom_fichier
Ecrire la premiere ligne de l'espace de motif actuel dans
nom_fichier. C'est une extension GNU.
x Echanger les contenus des espaces de stockage et de motif.
y/source/dest/
Transliterer les caracteres de l'espace de motif qui
apparaissent dans source au caractere correspondant dans dest.
Adresses
Les commandes Sed peuvent etre fournies sans adresses, auquel cas la
commande sera executee pour toutes les lignes de l'entree ; avec une
adresse, auquel cas la commande ne sera executee que pour les lignes de
l'entree qui correspondent a cette adresse ; ou avec deux adresses,
auquel cas la commande sera executee pour toutes les lignes de l'entree
qui correspondent a l'intervalle inclusif des lignes debutant a la
premiere adresse et finissant a la seconde adresse. Trois choses a
retenir sur les intervalles d'adresses : la syntaxe est addr1,addr2
(c'est a dire que les adresses sont separees par une virgule) ; la
ligne qui correspond a addr1 sera toujours acceptee, meme si addr2
selectionne une ligne precedente ; et si addr2 est un regexp, elle ne
sera pas testee par rapport a la ligne qui correspond a addr1.
Un ! peut etre insere apres l'adresse (ou intervalle d'adresse) et
avant la commande, qui indique que la commande ne sera executee que si
l'adresse (ou intervalle d'adresse) ne correspond pas.
Les formes d'adresse suivantes sont prises en charge :
nombre Correspondre seulement a la ligne specifiee nombre (qui
s'incremente de facon cumulative dans les fichiers, a moins que
l'option -s ne soit specifiee sur la ligne de commande).
premiere~etape
Correspondre a toutes les etape-eniemes lignes en commencant
avec la ligne premiere.Par exemple, "sed -n 1~2p" affichera
toutes les lignes impaires du flux d'entree, et l'adresse 2~5
correspondra a toutes les cinq lignes, en commencant par la
deuxieme ligne. premier peut etre zero ; dans ce cas Sed opere
comme s'il etait egal a etape. (C'est une extension.)
$ Correspondre a la derniere ligne.
/regexp/
Correspondre aux lignes partageant l'expression rationelle
regexp. La correspondance est realisee sur l'espace de motifs
actuel, et peut etre modifiee avec des commandes telles que
`s///".
\cregexpc
Correspondre aux lignes partageant l'expression rationelle
regexp. Le c peut etre n'importe quel caractere.
GNU sed prend aussi en charge quelques formes speciales a deux
addresses :
0,addr2
Demarrer dans l'etat "premiere adresse correspondante", jusqu'a
ce que addr2 soit trouvee. Cela est similaire a 1,addr2, sauf
que si addr2 correspond a la toute premiere ligne d'entree, la
forme 0,addr2 sera a la fin de son intervalle, alors que la
forme 1,addr2 sera toujours au debut de son intervalle. Cela ne
fonctionne que lorsque addr2 est une expression rationelle.
addr1,+N
Correspondra a addr1 et aux N lignes suivant addr1.
addr1,~N
Correspondra a addr1 et aux lignes suivant addr1 jusqu'a la
prochaine ligne d'entree dont le numero est un multiple de N.
EXPRESSIONS RATIONNELLES
Les BRE (Basic Regular Expression) POSIX.2 devraient etre pris en
charge, mais ne le sont pas completement pour des problemes de
performance. la sequence \n dans une expression reguliere correspond au
caractere changement de ligne, et de meme pour \a, \t, et d'autres
sequences. A la place, l'option -E change l'usage des expressions
rationnelles etendues ; cela a ete pris en charge pendant des annees
par GNU sed et est maintenant inclus dans POSIX.
BOGUES
Envoyez par e-mail vos signalements de bogue a bug-sed@gnu.org. Merci
d'inclure aussi la sortie de "sed --version" dans le corps de votre
rapport si possible.
AUTEUR
Ecrit par Jay Fenlason, Tom Lord, Ken Pizzini, Paolo Bonzini, Jim
Meyering, et Assaf Gordon.
Ce programme sed a ete construit sans la prise en charge de SELinux.
Page d'accueil de GNU sed : . Aide
generale pour l'utilisation des logiciels GNU :
. Envoyer les rapports de bogue a :
.
COPYRIGHT
Copyright (C) 2022 Free Software Foundation, Inc. Licence GPLv3+ : GNU
GPL version 3 ou ulterieure .
Ce programme est un logiciel libre. Vous pouvez le modifier et le
redistribuer. Il n'y a AUCUNE GARANTIE dans la mesure autorisee par la
loi.
VOIR AUSSI
awk(1), ed(1), grep(1), tr(1), perlre(1), sed.info, l'un des divers
ouvrages sur sed, la FAQ de sed
(http://sed.sf.net/grabbag/tutorials/sedfaq.txt),
http://sed.sf.net/grabbag/.
La documentation complete pour sed est disponible comme manuel Texinfo.
Si les programmes info et sed sont proprement installes sur votre
systeme, la commande
info sed
devrait vous donner acces au manuel complet.
TRADUCTION
La traduction francaise de cette page de manuel a ete creee par Alain
Portal et bubu
Cette traduction est une documentation libre ; veuillez vous reporter a
la GNU General Public License version 3
concernant les conditions
de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE.
Si vous decouvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message a .
GNU sed 4.9 Mars 2023 SED(1)