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)