GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Einfügen mehrerer Zeilen in eine Datei nach einem bestimmten Muster mit Shell-Skript

Noch ein 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

Wenn Sie die Änderungen in input.txt anwenden möchten Datei. Verwenden Sie dann -i mit sed .

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

Wenn Sie einen regulären Ausdruck als Ausdruck verwenden möchten, müssen Sie den -E verwenden Tag mit sed .

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

Mit GNU sed :

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

Wenn Sie begonnen haben mit:

abcd
accd
cdef
line
web

dies würde produzieren:

abcd
accd
cdef
line1
line2
line3
line4
line
web

Wenn Sie die Änderungen direkt in der Datei speichern möchten, sagen Sie:

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

Linux
  1. Fügen Sie nach Musterübereinstimmungen mithilfe von Linux-Shell-Skript mehrere Datenzeilen in eine Datei ein

  2. Wie fügt man mehrere Zeilen an eine Datei an?

  3. Datei nach Verwendung des Sed-Befehls speichern?

  4. Wie suche ich nach Inhalten nach dem Muster?

  5. Ändern des Inhalts einer Datei durch Shell-Skript

So verbinden Sie mehrere Zeilen in einer Datei in Linux zu einer

So entfernen Sie Zeilen aus einer Datei mit dem Sed-Befehl

Öffnen Sie Vim aus einem Bash-Shell-Skript heraus

Wie erstelle ich eine Liste eindeutiger Zeilen in einer Textdatei mit einem Linux-Shell-Skript?

Wie teilt man eine Textdatei in mehrere *.txt-Dateien auf?

sed - Zeile nach X Zeilen nach Übereinstimmung einfügen