Section courante

A propos

Section administrative du site

 Système d'exploitation  Installation  Utilisation  Tutoriel  Programmation  Outils  Annexe  Aide 
Amiga
Apple
CP/M / DOS
CoCo
Cray
Mainframe
Mobile
OS/2
TRS-80
UNIX
Windows
Autres
AmigaDOS
AmigaOS
MorphOS
Apple DOS
System 1.0
System 1.1
System 2.0
System 3.0
System 3.1
System 3.2
System 3.3
System 4.0
System 4.1
System 4.2
System 4.3
System 6.0
System 7.0
System 7.1
System 7.5
System 7.6
Mac OS 8.0
Mac OS 8.1
Mac OS 8.5
Mac OS 8.6
Mac OS 9.0
Mac OS 9.1
Mac OS 9.2
Mac OS X
Mac OS X Server
Apple DOS
Caldera DR-DOS 7
CP/M
CP/M-80
CP/M-86
DOS
DR-DOS
FreeDOS
IBM DOS 4
IBM DOS 5
MS-DOS
PC DOS
PTS-DOS
DR-DOS 5
DR-DOS 6
DR-DOS 7
MS-DOS 1.25
MS-DOS 2.0
MS-DOS 2.11
MS-DOS 3.0
MS-DOS 3.20
MS-DOS 3.21
MS-DOS 3.3
MS-DOS 4
MS-DOS 5
MS-DOS 6
MS-DOS 6.2
MS-DOS 7.10
PC DOS 1.0
PC DOS 1.1
PC DOS 2.0
PC DOS 2.1
PC DOS 3.0
PC DOS 3.1
PC DOS 3.2
PC DOS 3.3
PC DOS 4.0
PC DOS 4.01
PC DOS 5.0
PC DOS 6.1
PC DOS 6.3
PC DOS 7.0
PC DOS 2000
FLEX
OS-9
COS
UNICOS
OpenVMS
OS/390
OS/400
VAX/VMS
z/OS
Android OS
Bada
EPOC
PalmOS
Citrix Multiuser
eComStation
OS/2 Version 1
OS/2 Version 1.1
OS/2 Version 1.2
OS/2 Version 1.3
OS/2 Version 2
OS/2 Version 2.1
OS/2 Warp 3
OS/2 Warp 4
LDOS
MultiDOS
NEWDOS
TRSDOS
AIX
FreeBSD
HP-UX
Linux
QNX
SkyOS
Solaris (SunOS)
UNIX
XENIX
ReactOS
Windows 95
Windows 98
Windows Me
Windows NT 4.0 Server
Windows 2000 Professionnel
Windows 2000 Server
Windows XP
Windows Server 2003
Windows Server 2003 R2
Windows Server 2008
Windows Server 2008 R2
Windows Server 2012
Windows Server 2012 R2
Windows Server 2016
Windows Server 2019
Windows Vista
Windows 7
Windows 8
Windows 10
Windows 11
FLEX
KolibriOS
Inferno
Medos-2
Oberon
Plan 9
p-System
RDOS
CentOS
Corel Linux 1.2
Debian GNU/Linux 7.5
Lindows 4.0.302
openSUSE 11.2
Red Hat Linux 9.0
Red Star Desktop 3.0
TurnKey Core
Ubuntu 9.10
CentOS 6.5
CentOS 7
Installer Python 2.7 pour utilisateur unique sous CentOS 5.8
Introduction
Références des distributions
Références des commandes
Références des fichiers
CentOS
Debian
Fedora
openSUSE
Red Hat Linux
Slackware
TurboLinux
Ubuntu
Utilitaire
Niveau
Catégorie
Déterminer la version
Copier des répertoires
Les partitions
Les groupes
C pour Linux
Pascal pour Linux
AWK
BASH
C Shell
Free Pascal
MySQL
Perl
Python
TCL
Yabasic
Interruption 80h
MobaXterm
putty
Ext2, Ext3 & Ext4
Base de connaissances
Bibliographie
Préface
Notes légal
Dictionnaire
Recherche

sed

Éditeur orienté flux
Linux Externe

Syntaxe

sed [ -hnV ][-e script ][-f script-file ][--help ][--quiet ][--silent ] [--version][--expression=script ][--file=script-file ][file ... ]

Paramètres

Nom Description
-e script Ce paramètre permet d'ajouter le script spécifié à la commande a exécuter.
--expression=script Ce paramètre permet d'ajouter le script spécifié à la commande a exécuter.
-f script-file Ce paramètre permet d'ajouter le contenu du fichier spécifié à la commande a exécuter.
--file=script-file Ce paramètre permet d'ajouter le contenu du fichier spécifié à la commande a exécuter.
--follow-symlinks Ce paramètre permet d'indiquer qu'il faut suivre le traitement spécifié par le lien symbolique.
--help Ce paramètre permet d'indiquer qu'il faut afficher l'aide sur cette commande.
-i[SUFFIX] Ce paramètre permet d'éditer les fichiers en places (il fait une sauvegarde de l'extension du fichier spécifié, si celui-ci est fournit).
--in-place[=SUFFIX] Ce paramètre permet d'éditer les fichiers en places (il fait une sauvegarde de l'extension du fichier spécifié, si celui-ci est fournit).
-l N Ce paramètre permet de spécifier le nombre de ligne désirés.
--line-length=N Ce paramètre permet de spécifier le nombre de ligne désirés.
-n Ce paramètre permet d'enlever l'affichage automatique des espaces de palette.
--POSIX Ce paramètre permet de désactiver tous les extensions GNU.
--quiet Ce paramètre permet d'enlever l'affichage automatique des espaces de palette.
-r Ce paramètre permet d'appliquer une expression régulière (regex) au script.
--regexp-extended Ce paramètre permet d'appliquer une expression régulière (regex) au script.
-s Ce paramètre permet d'indiquer qu'il faut considérer les fichiers séparément plutôt que comme un seul flux continue.
--separate Ce paramètre permet d'indiquer qu'il faut considérer les fichiers séparément plutôt que comme un seul flux continue.
--silent Ce paramètre permet d'enlever l'affichage automatique des espaces de palette.
-u Ce paramètre permet d'indiquer qu'il faut charger la quantité minimal de données dans fichiers d'entrées et vider les tampons le plus souvent possible.
--unbuffered Ce paramètre permet d'indiquer qu'il faut charger la quantité minimal de données dans fichiers d'entrées et vider les tampons le plus souvent possible.
--version Ce paramètre permet d'indiquer qu'il faut afficher le numéro de version de cette commande.

Description

Cette commande permet d'éditer un groupe de fichier selon certaines séquences.

Exemples

Prenons pour acquis que le fichier «monfichier.txt» est le contenu suivant :

Voici un texte avec abcdef dedans.

Exemple de remplacement de la chaîne de caractères «abcdef» par «vwxyz» dans le fichier «monfichier.txt» sans distinction entre minuscule et majuscule :

sed -i s/abcdef/vwxyz/ monfichier.txt

on obtiendra le résultat suivant :

Voici un texte avec vwxyz dedans.

L'exemple suivant permet de remplacer des espaces par des virgules dans l'expression «45645654 56546546 54465654 46546546» :

echo "45645654 56546546 54465654 46546546" | sed -e "s/ /,/g"

on obtiendra le résultat suivant :

45645654,56546546,54465654,46546546

Prenons pour acquis le fichier suivant «test.htm» :

  1. <body>
  2. <title>Mon titre</title>
  3. #BEGIN#.....#END#
  4.  
  5. #MULTIBEGIN#
  6. ...
  7. ...
  8. #MULTIEND#
  9. </body>

L'exemple suivant permet de remplacer les balise «#MULTIBEGIN#» et «#MULTIEND#» situés sur de multiple ligne par le mot «GLADIR» :

sed ':a;N;$!ba;s/#MULTIBEGIN#.*#MULTIEND#/GLADIR/g' test.htm

on obtiendra le résultat suivant :

<body>
<title>Mon titre</title>
#BEGIN#.....#END#

GLADIR
</body>

L'exemple suivant permet de combiner trois expressions régulières afin de mettre une barre oblique en avant des caractères «/», «:», «.» et remplace les espaces par «\s» :

echo "Redirect /testgoogle http://www.google.ca" | sed -e 's/\//\\\//g' -e 's/\./\\\./g' -e 's/\s/\\\s/g' -e 's/\:/\\\:/g'

on obtiendra le résultat suivant :

Redirect\s\/testgoogle\shttp\:\/\/www\.google\.ca

L'exemple suivant permet de combiner trois expressions régulières afin de mettre une barre oblique en avant des caractères «/», «:», «.» et remplace les espaces par «\s» :

echo "Redirect /testgoogle http://www.google.ca" | sed -e 's/\//\\\//g' -e 's/\./\\\./g' -e 's/\s/\\\s/g' -e 's/\:/\\\:/g'

L'exemple suivant permet de convertir les «utf8mb4_unicode_520_ci» par «utf8mb4_unicode_ci» dans un fichier «monfichierexporter.sql» :

sed -i 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' monfichierexporter.sql

Voir également

Système d'exploitation - Linux - Références de commandes et de programmes - awk
Système d'exploitation - Linux - Références de commandes et de programmes - ed
Système d'exploitation - Linux - Références de commandes et de programmes - grep

PARTAGER CETTE PAGE SUR
Dernière mise à jour : Vendredi, le 16 octobre 2015