sed插入多行到檔案

2021-10-05 03:18:03 字數 848 閱讀 1581

首先寫乙個測試的檔案test.txt

echo -e "1\n2\n3\n4\n5" > test.txt
檢視一下文件

cat test.txt 12

345

我們要在2的前面插入多行,如以下內容

insert 1 line

insert 2 line

insert 3 line

在此時我們最好寫進指令碼裡,在命令列可能會出錯一下,以下就是我寫的指令碼,指令碼名為insert.sh,其中1,2,3都用了變數,我這裡推薦大家在插入多行的時候用單引號,變數前後再用單引號隔開就行,因為如果插入其它特殊符號就不用加轉義字元\了,sed的幾行裡面除了最後一行不加\,其它行都加,表示下一行。

注意:sed命令中\字元後面不要有空格,會報錯,如果是在windows上面寫的shell指令碼要用dos2unix命令轉換成unix格式

#!/bin/bash

line1=1

line2=2

line3=3

sed -i '/2/i\

insert '$line1' line\

insert '$line2' line\

insert '$line3' line

' test.txt

指令碼寫好了我們再執行一下指令碼並檢視test.txt文件

sh insert.sh

cat test.txt

1insert 1 line

insert 2 line

insert 3 line23

45

vim多行插入注釋

寫 的時候,經常需要注釋多行,對於大多數的 也就是在行首插入 最笨的方法,其實是正規表示式了。這個正規表示式能夠做到 m,ns 1 g 其中m,n為注釋起始行和結束行。當然,就是有點蛋疼了。還有另外一種比較好的方法 移動游標到需要注釋掉的第一行開頭,然後按ctrl v 如果使用了vim的msvin....

oracle的多行插入

最近在學習oracle,用到了多行插入。多行插入有兩種形式。insert into nbass select from nbas 其中 nbas 是其中乙個表,nbass是另乙個表,將nbas中資訊查詢出來插入到nbass中。insert allinto nbas values 活塞 1990 in...

Oracle 插入多行記錄

在oracle 中插入多行,顯然不可以用下面的方法 insert into sys defect defect id,defect code,defect level,defect desc,update userid,update time,sys defect.enabled,defect ty...