GNU/Linux >> Tutoriels Linux >  >> Linux

Insérer plusieurs lignes dans un fichier après le motif spécifié à l'aide d'un script shell

Un autre sed ,

sed '/cdef/r add.txt' input.txt

input.txt :

abcd
accd
cdef
line
web

add.txt :

line1
line2
line3
line4

Test :

sat:~# sed '/cdef/r add.txt' input.txt
abcd
accd
cdef
line1
line2
line3
line4
line
web

Si vous souhaitez appliquer les modifications dans input.txt dossier. Ensuite, utilisez -i avec sed .

sed -i '/cdef/r add.txt' input.txt

Si vous souhaitez utiliser une expression régulière comme expression, vous devez utiliser le -E balise avec sed .

sed -E '/RegexPattern/r add.txt' input.txt

Utilisation de GNU sed :

sed "/cdef/aline1\nline2\nline3\nline4" input.txt

Si vous avez commencé avec :

abcd
accd
cdef
line
web

cela donnerait :

abcd
accd
cdef
line1
line2
line3
line4
line
web

Si vous souhaitez enregistrer les modifications apportées au fichier sur place, dites :

sed -i "/cdef/aline1\nline2\nline3\nline4" input.txt

Linux
  1. Insérer plusieurs lignes de données dans un fichier après les correspondances de modèle à l'aide du script shell Linux

  2. Imprimer la ligne précédente après une correspondance de modèle à l'aide de Sed ?

  3. Shell teste si la chaîne de plusieurs lignes contient le modèle spécifié dans la dernière ligne ?

  4. Comment supprimer plusieurs lignes aléatoires d'un fichier texte à l'aide de Sed ?

  5. Comment ajouter plusieurs lignes à un fichier ?

Comment joindre plusieurs lignes en une seule dans un fichier sous Linux

Comment supprimer des lignes d'un fichier à l'aide de la commande Sed

Comment supprimer les N premières lignes d'un fichier Ascii à l'aide des commandes Shell ?

Enregistrer le fichier après avoir utilisé la commande Sed ?

Ouvrir Vim depuis un script shell Bash

Comment sélectionner plusieurs lignes à partir d'un fichier ou d'un tube dans un script ?