Le système d'exploitation Linux utilise des commandes de terminal pour fonctionner avec le système de fichiers d'un ordinateur. Utilisation principale de la commande Linux sed, qui est l’abréviation de stream editor, consiste à modifier chaque ligne d’un fichier ou d’un flux en remplaçant des parties spécifiées de la ligne. Il apporte des modifications de texte de base à un fichier ou à une entrée d'un pipeline. Par exemple, disons que vous avez un fichier nommé "songs.text" qui contient ces lignes:
1, Justin Timberlake, Titre 545, Prix 6,30 $2, Taylor Swift, Titre 723, Prix 7,90 $3, Mick Jagger, Titre 610, Prix 7,90 $4, Lady Gaga, Titre 118, Prix 6,30 $5, Johnny Cash, titre 482, prix 6,50 $6, Elvis Presley, Titre 335, Prix 6,30 $7, John Lennon, Titre 271, Prix 7,90 $ Si vous souhaitez modifier toutes les occurrences de prix de 6,30 USD à 7,30 USD, vous pouvez effectuer les modifications à l'aide de la commande sed de cette manière: sed 's / 6.30 / 7.30 /' songs.txt> songs2.txt
Ce code effectue le changement et écrit le fichier modifié dans "songs2.txt". Le fichier de sortie contient: 1, Justin Timberlake, Titre 545, Prix 7,30 $2, Taylor Swift, Titre 723, Prix 7,90 $3, Mick Jagger, Titre 610, Prix 7,90 $4, Lady Gaga, Titre 118, Prix 7,30 $5, Johnny Cash, titre 482, prix 6,50 $6, Elvis Presley, Titre 335, Prix 7,30 $7, John Lennon, Titre 271, Prix 7,90 $
Si vous souhaitez remplacer toutes les occurrences de "Cash" par "Trash", vous utilisez: sed 's / Cash / Trash /' songs.txt> songs2.txt
qui crée un fichier avec du contenu: 1, Justin Timberlake, Titre 545, Prix 7: 30 $2, Taylor Swift, Titre 723, Prix 7,90 $3, Mick Jagger, Titre 610, Prix 7,90 $4, Lady Gaga, Titre 118, Prix 7h305, Johnny Trash, Titre 482, Prix 6,50 $6, Elvis Presley, Titre 335, Prix 7: 30 $7, John Lennon, Titre 271, Prix 7,90 $ Sed est également fréquemment utilisé pour filtrer les lignes d'un fichier ou d'un flux. Par exemple, si vous voulez seulement voir les lignes contenant "John", vous utilisez: sed -n '/ John / p' songs.txt> johns.txt
qui écrit les lignes suivantes dans le fichier johns.txt: 5, Johnny Trash, Titre 482, Prix 6,50 $7, John Lennon, Titre 271, Prix 7,90 $ Faire des substitutions de texte avec Sed
Filtrage avec la commande Sed