Comment remplacer plusieurs lignes à l’aide de la commande `sed`

parfois, il faut remplacer plusieurs lignes d’un fichier par un caractère ou un texte particulier. Différentes commandes existent sous Linux pour remplacer plusieurs lignes d’un fichier. la commande ‘ sed ‘ est l’une d’entre elles pour effectuer ce type de tâche. La forme complète de ‘ sed ‘ est Steam Editor, et il est principalement utilisé pour lire et convertir le texte de différentes manières en utilisant une expression régulière., Comment cette commande peut être utilisée pour remplacer les multiples lignes d’un fichier de différentes façons sont expliquées dans ce tutoriel.

feuille de triche  » sed « couramment utilisée:

les caractères les plus couramment utilisés dans la commande » sed  » sont expliqués dans le tableau suivant.

Caractère But
a Il est utilisé pour l’ajout de contenu.
b Il est utilisé pour la ramification de contenu.
c Il est utilisé pour changer le contenu.,
d Il est utilisé pour supprimer une ligne d’un fichier.
D Il est utilisé pour supprimer la première ligne d’un fichier.
g Il a utilisé pour copier de la tenue de texte.
G Il est utilisé pour ajouter de la tenue de texte.
h Il est utilisé pour copier dans la tenue de texte.
H Il est utilisé pour ajouter de la tenue de texte.
i Il est utilisé pour l’insertion.
I Il est utilisé pour imprimer le remplaçant la ligne.,
n Il est utilisé pour passer à la ligne suivante.
N Il est utilisé pour ajouter l’entrée suivante de la ligne.
p Il est utilisé pour l’impression.
P Il est utilisé pour imprimer la première ligne.
q Il est utilisé pour arrêter de fumer.
Q Il est utilisé pour de quitter immédiatement.
r Il est utilisé pour lire le fichier.
R Il est utilisé pour lire la ligne du fichier.
s Il est utilisé pour remplacer.,
t Il est utilisé pour tester la substitution.
T Il est utilisé pour tester la pas de substitution.
w Il est utilisé pour écrire dans le fichier.
W Il est utilisé pour écrire une ligne dans le fichier.
x Il est utilisé pour échanger des modèles et maintenez-la enfoncée.
y Il est utilisé pour traduire.
z Il est utilisé pour effacer la ligne.
‘=’ Il est utilisé pour imprimer le numéro de la ligne.,

Remplacer plusieurs lignes à l’aide de la sed commande dans le terminal:

Comment le sed commande peut être utilisée pour remplacer les multiples lignes d’un fichier à partir du terminal est montré dans cette partie de ce tutoriel. Créez un fichier nommé sed.txt avec le contenu suivant tester les commandes de cette partie.

sed.txt

La forme complète de la sed est « éditeur de flux”.

C’est un utilitaire Unix qui est utilisé pour lire et convertir le texte dans un format différent.

il a été développé par Lee E. McMahon.,

Il est utilisé pour le traitement de texte.

Il prend en charge les expressions régulières.

exemple-1: Remplacer deux lignes consécutives

la commande `sed` suivante remplacera deux lignes consécutives par une autre ligne. Ici, l’option-z est utilisée pour remplacer les lignes consécutives par des données null avant d’ajouter le texte de remplacement. Selon la commande, les 3ème et 4ème lignes du fichier sera remplacé par le texte,  » C’est un outil très utile’.

$ cat sed.txt
$ sed-z ‘s/il a été développé par Lee E. McMahon.\nIt est utilisé pour le traitement de texte
.,/C’est un outil très utile./’ SED.txt

la sortie suivante apparaîtra après l’exécution des commandes.

exemple-2: remplacer plusieurs lignes en fonction de la correspondance et du drapeau global

la commande `sed` suivante remplacera toutes les lignes qui commencent par le mot ‘It’ par le mot ‘This line is replaced ‘.

$ cat sed.txt
It sed ‘s/^il.* / Cette ligne est remplacée / g’ sed.txt

la sortie suivante apparaîtra après l’exécution des commandes. Trois lignes contiennent le mot  » It  » dans le fichier., Donc, ces lignes ont été remplacées par le texte de remplacement.

exemple-3: remplacer plusieurs lignes en fonction de la correspondance et de la commande de ligne suivante

la commande `sed` suivante remplacera le mot’is‘ par le mot ‘was‘ par la commande de ligne suivante ‘n’.

$ cat sed.txt
$ sed ‘ {n;/est/ {s/est/a/}}’ sed.txt

la sortie suivante apparaîtra après l’exécution des commandes. Ici, ‘est’ existe dans les 2ème et 4ème lignes du fichier, et ces lignes sont modifiées par le mot « était ».,

remplacez plusieurs lignes en créant le fichier script `sed`:

dans les exemples précédents, les commandes `sed` ont été exécutées à partir du terminal. Mais il est un langage de script, et si le script contient plusieurs instructions, il est préférable de créer un fichier sed avec le script. Créez un fichier texte nommé étudiants.txt avec le contenu suivant dans lequel le script `sed` sera appliqué.

les étudiants.txt

exemple-4: remplacer plusieurs lignes d’un fichier à l’aide du fichier de script `sed`

créez un fichier SED nommé à remplacer.,sed avec le contenu suivant pour remplacer les lignes multiples en fonction du modèle de recherche. Ici, le mot  » CSE  » sera recherché dans le fichier texte, et si la correspondance existe, il recherchera à nouveau les nombres 35 et 15. Si la deuxième correspondance existe dans le fichier, elle sera remplacée par le numéro 45.

remplacer.si vous avez besoin d’une carte de crédit, vous pouvez utiliser le code ci-dessous./35/45/
p;d;
}
/15/ {
s/15/55/;
p; d;
}
}
p;

exécutez la commande suivante pour vérifier le contenu existant du fichier. ‘CSE  » est apparu quatre fois dans le fichier texte., 35 et 15 existent en deux endroits.

$ cat étudiants.txt

La commande suivante va remplacer le contenu de plusieurs lignes basé sur le script sed.

replace sed-n-F replace.étudiants sed.txt

La sortie suivante s’affiche après l’exécution de la commande.

Conclusion

différentes façons de remplacer plusieurs lignes ou le contenu des lignes multiples à l’aide de la commande `sed` ont été montrées dans ce tutoriel., Comment le script` sed ‘ peut être exécuté à partir d’un fichier sed est également montré dans ce tutoriel. J’espère que ce tutoriel aidera le lecteur à remplacer plusieurs lignes de n’importe quel fichier en utilisant la commande `sed`.

Author: admin

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *