Manuels pour la ligne de commande

Man » Manuel sed en ligne - documentation en ligne détaillée pour la page de manuel sed

🌍
sed - éditeur 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 script-file] [--file=script-file]
[script-if-no-other-script]
[file...]

DESCRIPTION

Sed est un éditeur de flux. Un éditeur de flux est utilisé pour effectuer des transformations de texte de base sur un flux d'entrée (un fichier ou une entrée provenant d'un pipeline). Bien que dans certains aspects similaire à un éditeur qui permet des éditions par script (tel que ed), sed fonctionne en effectuant une seule passe sur l'entrée, et est donc plus efficace. Mais c'est la capacité de sed à filtrer le texte dans un pipeline qui le distingue particulièrement des autres types d'éditeurs.

-n, --quiet, --silent
supprimer l'impression automatique de l'espace de motif

--debug
annoter l'exécution du programme

-e script, --expression=script
ajouter le script aux commandes à exécuter

-f script-file, --file=script-file
ajouter le contenu de script-file aux commandes à exécuter

--follow-symlinks
suivre les liens symboliques lors du traitement en place

-i[SUFFIX], --in-place[=SUFFIX]
éditer les fichiers en place (crée une sauvegarde si SUFFIX est fourni)

-l N, --line-length=N
spécifier la longueur de saut de ligne souhaitée pour la commande `l`

--posix
désactiver toutes les extensions GNU.

-E, -r, --regexp-extended
utiliser des expressions régulières étendues dans le script (pour la portabilité, utilisez POSIX -E).

-s, --separate
considérer les fichiers comme étant séparés plutôt que comme un seul flux long et continu.

--sandbox
fonctionner en mode sandbox (désactiver les commandes e/r/w).

-u, --unbuffered
charger des quantités minimales de données à partir des fichiers d'entrée et vider les tampons de sortie plus fréquemment

-z, --null-data
séparer les lignes par des caractères NUL

--help
afficher cette aide et quitter

--version
afficher les informations de version et quitter

Si aucune option -e, --expression, -f ou --file n'est donnée, alors le premier argument non option est considéré comme le script sed à interpréter. Tous les arguments restants sont des noms de fichiers d'entrée ; si aucun fichier d'entrée n'est spécifié, alors l'entrée standard est lue.

Page d'accueil GNU sed : [https://www.gnu.org/software/sed/]. Aide générale sur l'utilisation des logiciels GNU : [https://www.gnu.org/gethelp/>. Envoyez les rapports de bogues par e-mail à : <_].

Emballé par Debian. Copyright © 2022 Free Software Foundation, Inc. Licence GPLv3+ : GNU GPL version 3 ou ultérieure [https://gnu.org/licenses/gpl.html]. Ceci est un logiciel libre : vous êtes libre de le modifier et de le redistribuer. Il n'y a AUCUNE GARANTIE, dans la mesure permise par la loi.


RÉSUMÉ DES COMMANDES

Il s'agit d'un bref résumé des commandes sed, destiné à servir de rappel à ceux qui les connaissent déjà ; une documentation plus complète (telle que le document texinfo) doit être consultée pour obtenir des descriptions plus détaillées.

Commandes « zéro-adresse »

: label

Étiquette pour les commandes b et t.

#comment

Le commentaire se poursuit jusqu'à la prochaine nouvelle ligne (ou la fin d'un fragment de script -e).

}

La parenthèse fermante d'un bloc { }.

Commandes à zéro ou une adresse

=

Affiche le numéro de ligne actuel.

a \
text

Ajoute du texte, chaque nouvelle ligne intégrée étant précédée d'une barre oblique inverse.

i \
text

Insère du texte, chaque nouvelle ligne intégrée étant précédée d'une barre oblique inverse.

q [code-sortie]

Quitte immédiatement le script sed sans traiter d'autres données d'entrée, sauf si l'impression automatique n'est pas désactivée, auquel cas l'espace de motif actuel sera imprimé. L'argument code-sortie est une extension GNU.

Q [code-sortie]

Quitte immédiatement le script sed sans traiter d'autres données d'entrée. Il s'agit d'une extension GNU.

r nomfichier

Ajoute le texte lu dans le fichier nomfichier.

R nomfichier

Ajoute une ligne lue dans le fichier nomfichier. Chaque invocation de la commande lit une ligne du fichier. Il s'agit d'une extension GNU.

Commandes acceptant des plages d'adresses

{

Début d'un bloc de commandes (fin avec un }).

b label

Branche vers l'étiquette ; si l'étiquette est omise, branche vers la fin du script.

c \
text

Remplace les lignes sélectionnées par du texte, chaque nouvelle ligne intégrée étant précédée d'une barre oblique inverse.

d

Supprime l'espace de motif. Démarre le cycle suivant.

D

Si l'espace de motif ne contient pas de nouvelle ligne, démarre un nouveau cycle normal comme si la commande d avait été exécutée. Sinon, supprime le texte dans l'espace de motif jusqu'à la première nouvelle ligne, et redémarre le cycle avec l'espace de motif résultant, sans lire une nouvelle ligne d'entrée.

h H

Copie/ajoute l'espace de motif à l'espace de conservation.

g G

Copie/ajoute l'espace de conservation à l'espace de motif.

l

Affiche la ligne actuelle dans une forme « visuellement non ambiguë ».

l largeur

Affiche la ligne actuelle dans une forme « visuellement non ambiguë », en la divisant en morceaux de largeur caractères. Il s'agit d'une extension GNU.

n N

Lit/ajoute la ligne d'entrée suivante dans l'espace de motif.

p

Affiche l'espace de motif actuel.

P

Affiche jusqu'à la première nouvelle ligne intégrée de l'espace de motif actuel.

s/regexp/remplacement/

Tente de faire correspondre regexp à l'espace de motif. Si la correspondance est réussie, remplace cette portion correspondante par remplacement. Le remplacement peut contenir le caractère spécial & pour faire référence à la portion de l'espace de motif qui correspond, et les caractères d'échappement spéciaux \1 à \9 pour faire référence aux sous-expressions correspondantes dans l'expression régulière.

t label

Si une substitution s/// a réussi depuis la dernière ligne d'entrée lue et depuis la dernière commande t ou T, alors branche vers l'étiquette ; si l'étiquette est omise, branche vers la fin du script.

T label

Si aucune substitution s/// n'a réussi depuis la dernière ligne d'entrée lue et depuis la dernière commande t ou T, alors branche vers l'étiquette ; si l'étiquette est omise, branche vers la fin du script. Il s'agit d'une extension GNU.


w filename

Écrit le contenu actuel de l'espace de motif dans le fichier filename.

W filename

Écrit la première ligne du contenu actuel de l'espace de motif dans le fichier filename. Il s'agit d'une extension GNU.

x

Échange le contenu de l'espace de maintien et de l'espace de motif.

y/source/dest/

Translitère les caractères dans l'espace de motif qui apparaissent dans source vers le caractère correspondant dans dest.

Adresses

Les commandes sed peuvent être données sans adresse, auquel cas la commande sera exécutée pour toutes les lignes d'entrée ; avec une seule adresse, auquel cas la commande ne sera exécutée que pour les lignes d'entrée qui correspondent à cette adresse ; ou avec deux adresses, auquel cas la commande sera exécutée pour toutes les lignes d'entrée qui correspondent à la plage inclusive de lignes commençant par la première adresse et se terminant à la seconde adresse. Trois éléments à noter concernant les plages d'adresses : la syntaxe est addr1,addr2 (c'est-à-dire que les adresses sont séparées par une virgule) ; la ligne qui correspond à addr1 sera toujours acceptée, même si addr2 sélectionne une ligne antérieure ; et si addr2 est une expression régulière, elle ne sera pas testée sur la ligne à laquelle addr1 correspond.

Après l'adresse (ou la plage d'adresses), et avant la commande, un ! peut être inséré, ce qui spécifie que la commande ne sera exécutée que si l'adresse (ou la plage d'adresses) ne correspond pas.

Les types d'adresses suivants sont pris en charge :

number Correspond uniquement au numéro de ligne spécifié (qui s'incrémente de manière cumulative dans tous les fichiers, à moins que l'option -s ne soit spécifiée dans la ligne de commande).

first~step

Correspond à chaque step-ième ligne en commençant par la ligne first. Par exemple, « sed -n 1~2p » affichera toutes les lignes de numéro impair dans le flux d'entrée, et l'adresse 2~5 correspondra à chaque cinquième ligne, en commençant par la deuxième. first peut être zéro ; dans ce cas, sed fonctionne comme si c'était égal à step. (Il s'agit d'une extension.)

$

Correspond à la dernière ligne.

/regexp/

Correspond aux lignes correspondant à l'expression régulière regexp. La correspondance est effectuée sur l'espace de motif actuel, qui peut être modifié avec des commandes telles que « s/// ».

\cregexpc

Correspond aux lignes correspondant à l'expression régulière regexp. Le c peut être n'importe quel caractère.

GNU sed prend également en charge certaines formes d'adresse à deux adresses :

0addr2

Commence dans l'état « première adresse correspondante » jusqu'à ce que addr2 soit trouvé. Cela est similaire à 1addr2, sauf que si addr2 correspond à la toute première ligne d'entrée, la forme 0,addr2 sera à la fin de sa plage, alors que la forme 1,addr2 sera toujours au début de sa plage. Cela ne fonctionne que lorsque addr2 est une expression régulière.

addr1,+N

Correspond à addr1 et aux N lignes qui suivent addr1.

addr1,~N

Correspond à addr1 et aux lignes qui suivent addr1 jusqu'à la ligne suivante dont le numéro de ligne d'entrée est un multiple de N.

EXPRESSIONS RÉGULIÈRES

Les BRE POSIX.2 doivent être prises en charge, mais elles ne le sont pas complètement en raison de problèmes de performances. La séquence \n dans une expression régulière correspond au caractère de nouvelle ligne, et de même pour \a, \t et d'autres séquences. L'option -E bascule vers l'utilisation d'expressions régulières étendues à la place ; elle est prise en charge depuis de nombreuses années par GNU sed, et est désormais incluse dans POSIX.

BUGS

Envoyez les rapports de bogues par e-mail à _. Veuillez également inclure la sortie de la commande ``sed --version'' dans le corps de votre rapport, si possible.

AUTEUR

Écrit par Jay Fenlason, Tom Lord, Ken Pizzini, Paolo Bonzini, Jim Meyering et Assaf Gordon.

Ce programme sed a été compilé avec le support SELinux. SELinux est désactivé sur ce système.

Page d'accueil de GNU sed : [https://www.gnu.org/software/sed/]. Aide générale sur l’utilisation des logiciels GNU : [https://www.gnu.org/gethelp/>. Envoyez les rapports de bogues par e-mail à : <_].

CONSULTER AUSSI

awk(1), ed(1), grep(1), tr(1), perlre(1), sed.info, divers ouvrages sur sed, la FAQ sed (http://sed.sf.net/grabbag/tutorials/sedfaq.txt), http://sed.sf.net/grabbag/.

La documentation complète de sed est conservée sous forme de manuel Texinfo. Si les programmes info et sed sont correctement installés sur votre site, la commande

info sed

devrait vous donner accès au manuel complet.