Mise à jour : Debian 11.2 - Bullseye
Références :
Sommaire
$ cat <fichier> |sed <option> '<sélection_lignes> s/motif/remplacement/flags'
où flags sont des paramètres optionnels
$ cat test
Ligne 1 UID UID
Ligne 2 uuid
Ligne 3 uuuid
$ cat test |sed 's/UID/UUID/'
Ligne 1 UUID UID
Ligne 2 uuid
Ligne 3 uuuid
L'option -n combinée au flag p a pour effet de n'afficher que les lignes modifiées
$ cat test |sed -n 's/UID/UUID/p'
Ligne 1 UUID UID
$ cat test |sed -n 's/uid/ABC/i;p'
Ligne 1 ABC UID
Ligne 2 uABC
Ligne 3 uuABC
$ cat test |sed 's/UID/UUID/'
Ligne 1 UUID UID
Ligne 2 uuid
Ligne 3 uuuid
$ cat test |sed 's/UID/UUID/2'
Ligne 1 UID UUID
Ligne 2 uuid
Ligne 3 uuuid
$ cat test |sed 's/UID/UUID/g'
Ligne 1 UUID UUID
Ligne 2 uuid
Ligne 3 uuuid
Toutes les occurrences à partir de la deuxième dans
chaque ligne
$ cat test |sed 's/UID/UUID/2g'
Ligne 1 UID UUID
Ligne 2 uuid
Ligne 3 uuuid
$ cat test |sed 's/Ligne ./***&***/'
***Ligne 1*** UID UID
***Ligne 2*** uuid
***Ligne 3*** uuuid
$ cat test| sed ''
Ligne 1
Ligne 2 uuid
Ligne 3
$ cat <file> |sed '<numéro_ligne> q'
$ cat <file> |sed '/motif/ q'
$ cat test |sed '2 q'
Ligne 1
Ligne 2 UUID
$ cat test |sed '/UUID/ q'
Ligne 1
Ligne 2 UUID
Affichage des caractères de contrôle
$ cat <file> |sed '<sélection_lignes> l'
$ cat test|sed -n '1,2 l'
Ligne 1 $
Ligne 2 uuid$
$ cat test |sed '<sélection_lignes> ='
$ cat test |sed '='
1
Ligne 1
2
Ligne 2 uuid
3
Ligne 3
$ cat test |sed -n '<sélection_lignes> ='
$ cat test|sed -n '/uuid/='
2
$ cat test|sed -n '$='
3
$ cat <fichier> |sed '<sélection_lignes> d'
$ cat test |sed '2 d'
Ligne 1
Ligne 3
$ cat test |sed '2,3 d'
Ligne 1
$ cat <fichier> |sed '<sélection_lignes> p'
$ cat test |sed '2 p'
Ligne 1
Ligne 2 UUID
Ligne 2 UUID
Ligne 3
$ cat test |sed -n '2,3 p'
Ligne 2 uuid
Linge 3
$ cat test |sed -n '/Ligne [13]/ p'
Ligne 1
Ligne 3
$ cat <fichier> |sed '<sélection_lignes> i <ligne_à_insérer>'
$ cat test |sed '2 i Insertion nouvelle ligne avant ligne 2'
Ligne 1
Insertion nouvelle ligne avant ligne 2
Ligne 2 UUID
Ligne 3
$ cat <fichier> |sed '<sélection_lignes> a <ligne_à_ajouter>'
$ cat test |sed '1,2 a Ajout nouvelle ligne après lignes 1 et 2'
Ligne 1
Ajout nouvelle ligne après lignes 1 et 2
Ligne 2 uuid
Ajout nouvelle ligne après lignes 1 et 2
Ligne 3
$ cat <fichier> |sed '<sélection_lignes> r <chemin_fichier_inséré>'
$ cat test |sed '2 r snipet'
$ cat <fichier> |sed '<sélection_lignes> c <ligne_de_remplacement>'
$ cat test |sed '/uuid/ c Nouvelle ligne 2'
Ligne 1
Nouvelle ligne 2
Ligne 3