1. 程式人生 > >sed指定某行插入、追加、全局替換

sed指定某行插入、追加、全局替換

sed指定某行插入、追加、全局替換

sed指定某行插入、追加、全局替換

分類:Linux


(1088) (0)


有時候會有這樣的需求,在指定的行後面或者是前面追加一行,這個時候可以使用sed來完成,具體用法如下


a\ 在指定的行後面追加一行

b\ 在指定的行前面追加一行


使用指定的行號追加內容,在使用行號的過程中,需要註意的問題有以下


N;後面只能使用偶數,且不可以為0


a表示在指定的行後面追加一行


i表示在當前行插入一行,如果指定行為4,其實最終的結果插入行的位置是第三行。


sed -i ‘N;2a\newline‘ 1.txt

sed -i ‘N;2i\newline‘ 1.txt


[[email protected] shell]# cat << eof > 1.txt

> a

> b

> c

> d

> eof

[[email protected] shell]# sed -i ‘N;2a2222‘ 1.txt

[[email protected] shell]# cat 1.txt

a

b

2222

c

d

[[email protected] shell]# sed -i ‘N;2i2222‘ 1.txt

[[email protected] shell]# cat 1.txt

2222

a

b

2222

c

d



[[email protected] shell]# cat 1.txt

1111

3333

[[email protected] shell]# sed -i ‘/^1111$/a\2222‘ 1.txt ; cat 1.txt

1111

2222

3333

[[email protected] shell]# sed -i ‘/^1111$/i\0000‘ 1.txt ; cat 1.txt

0000

1111

2222

3333

下面是把所有匹配的字符都替換為指定的字符


[[email protected] ~]# cat << eof > 1.txt

> 1111

> 222333333

> 44444444445

> eof

[[email protected] ~]# sed -i 2{s/2/3/g} 1.txt

[[email protected] ~]# cat 1.txt

1111

333333333

44444444445

[[email protected] ~]# sed -i 3{s/4/5/g} 1.txt

[[email protected] ~]# cat !$

cat 1.txt

1111

333333333

55555555555


本文出自 “隱隱的淚” 博客,請務必保留此出處http://lijuntao.blog.51cto.com/11691147/1951236

sed指定某行插入、追加、全局替換