1. ホーム
  2. linux

[解決済み] シェルスクリプトを使用して、指定したパターンの後にファイルに複数行を挿入する。

2023-04-27 15:52:34

質問

シェルスクリプトを使って、ファイルに複数行を挿入したい。 入力ファイルの内容が以下のようなものだとします。 input.txt:

abcd
accd
cdef
line
web

の 'cdef' 行の後に4行挿入する必要があります。 input.txt ファイルに挿入しなければなりません。 挿入した後、私のファイルはこのように変わるはずです。

abcd
accd
cdef
line1
line2
line3
line4
line
web

上記の挿入は、私はシェルスクリプトを使用して行う必要があります。誰か私を助けることができますか?

どのように解決するのですか?

別の sed ,

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

input.txtになります。

abcd
accd
cdef
line
web

add.txtを追加します。

line1
line2
line3
line4

テストします。

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

の変更を適用したい場合は input.txt ファイル内の変更を適用したい場合。では -i と共に sed .

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

正規表現を式として使いたい場合は -E タグと sed .

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