GNU/Linux >> Linux の 問題 >  >> Linux

シェルスクリプトを使用して、指定されたパターンの後にファイルに複数の行を挿入します

別の 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

GNU sed の使用 :

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

あなたが始めた場合:

abcd
accd
cdef
line
web

abcd
accd
cdef
line1
line2
line3
line4
line
web

ファイルへの変更をその場で保存したい場合は、次のように言います:

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

Linux
  1. Linuxシェルスクリプトを使用してパターンが一致した後、ファイルに複数行のデータを挿入します

  2. Sedを使用してパターンマッチ後に前の行を印刷しますか?

  3. ファイルに複数の行を追加するにはどうすればよいですか?

  1. Sedコマンドを使用した後にファイルを保存しますか?

  2. Bash シェル スクリプト内から Vim を開く

  3. Linuxシェルスクリプトを使用してテキストファイル内の一意の行のリストを生成する方法は?

  1. パターンが最初に発生した後にファイルを別のファイルに挿入しますか?

  2. ファイルまたはスクリプト内のパイプから複数の行を選択する方法は?

  3. sed を使用して特定のパターンを置き換える