GNU/Linux >> Znalost Linux >  >> Linux

Vložit více řádků do souboru po zadaném vzoru pomocí shell skriptu

Další 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

Pokud chcete použít změny v input.txt soubor. Poté použijte -i s sed .

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

Pokud chcete jako výraz použít regulární výraz, musíte použít -E tag s sed .

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

Pomocí GNU sed :

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

Pokud jste začali s:

abcd
accd
cdef
line
web

výsledkem by bylo:

abcd
accd
cdef
line1
line2
line3
line4
line
web

Pokud chcete uložit změny do souboru na místě, řekněte:

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

Linux
  1. Vložení souboru do jiného souboru po prvním výskytu vzoru?

  2. Jak připojit více řádků k souboru?

  3. Uložit soubor po použití příkazu Sed?

  1. Jak hledat obsah po vzoru?

  2. Změna obsahu souboru pomocí shell skriptu

  3. Jak vygenerovat seznam jedinečných řádků v textovém souboru pomocí skriptu Linux shell?

  1. Použití receptu Chef k připojení více řádků do konfiguračního souboru

  2. Jak rozdělit jeden textový soubor do více souborů *.txt?

  3. Jak vybrat více řádků ze souboru nebo z potrubí ve skriptu?