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

原创 2016年08月29日 10:38:28
有时候会有这样的需求,在指定的行后面或者是前面追加一行,这个时候可以使用sed来完成,具体用法如下

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

使用指定的行号追加内容,在使用行号的过程中,需要注意的问题有以下
N;后面只能使用偶数,且不可以为0
a表示在指定的行后面追加一行
i表示在当前行插入一行,如果指定行为4,其实最终的结果插入行的位置是第三行。
sed -i 'N;2a\newline' 1.txt
sed -i 'N;2i\newline' 1.txt

[root@lanmp shell]# cat << eof > 1.txt
> a
> b
> c
> d
> eof
[root@lanmp shell]# sed -i 'N;2a2222' 1.txt
[root@lanmp shell]# cat 1.txt
a
b
2222
c
d
[root@lanmp shell]# sed -i 'N;2i2222' 1.txt
[root@lanmp shell]# cat 1.txt
2222
a
b
2222
c
d


[root@RS2 shell]# cat 1.txt
1111
3333
[root@RS2 shell]# sed -i '/^1111$/a\2222' 1.txt ; cat 1.txt
1111
2222
3333
[root@RS2 shell]# sed -i '/^1111$/i\0000' 1.txt ; cat 1.txt
0000
1111
2222
3333

下面是把所有匹配的字符都替换为指定的字符

[root@SLAVE ~]# cat << eof > 1.txt
> 1111
> 222333333
> 44444444445
> eof
[root@SLAVE ~]# sed -i 2{s/2/3/g} 1.txt
[root@SLAVE ~]# cat 1.txt
1111
333333333
44444444445
[root@SLAVE ~]# sed -i 3{s/4/5/g} 1.txt
[root@SLAVE ~]# cat !$
cat 1.txt
1111
333333333
55555555555
版权声明:This article original articles for bloggers, Repost please indicate the source. If in doubt, please contact me. I will be appreciated.

相关文章推荐

linux shell sed 实现字符串查找、插入实例

1.在特定字符串所在行后添加一行或多行字符: 实例一:通过grep获取特定字符串所在的行号处添加行...
  • zyllong
  • zyllong
  • 2016年08月11日 13:47
  • 6213

sed-i 命令在文件第一行添加内容

用sed的i\命令在第一行前面插入即可,加上 -i 选项直接操作文件。 sed -i '1i\要添加的内容' yourfile 查看插入第一行是否成功 sed -n '1,1p' yourfi...

shell在每一行插入字符,sed用法

1. 如何在一个文本文件中的每一行头插入一个字符 2. 如何在一个文本文件中的每一行尾插入一个字符 3. 如何在一个文本文件中的每一行的指定列插入一串字符         1.awk...

sed 技巧一例:特定位置插入

通过一例子熟悉 sed 的运用 下面命令是在修改 ~/fs/install/nzos.conf 文件, 并在 env 第一次出现的地方再添加一行 env LXC_EXTRA_PORT=5556 s...
  • span76
  • span76
  • 2013年09月04日 12:37
  • 8865

sed 在指定行插入

[root@web-htl2-01 ~]# sed '/5/ a\  456\   123 ' ~/install.log 1 2 3 4 5   456   123 6 7 8 ...

SHELL 在指定行的前/后插入指定内容

#如果知道行号可以用下面的方法 sed -i '88 r b.file' a.file    #在a.txt的第88行插入文件b.txt awk '1;NR==8...

sed在指定行插入新行

前些天备份使用mysqldump备份出的数据文件(insert形式),里面的内容没有use db_name这个语句,所以如果在脚本中执行,那么会提示no database selected,所以就想在...

sed 匹配内容的前一行和后一行 添加内容

首页 > perl/php/python/gawk/sed linux下在某行的前一行或后一行添加内容 2013年11月6日 admin 发表评论 阅读评论 linux的sed工具是十分强...

Linux shell 用sed在文档中 增加一行 或 删除一行

 Linux shell 用sed在文档中 增加一行 或 删除一行   2011-03-28 04:48:16|  分类: Linux |  标签: |举报 |字号大中小...

shell sed 在文件第一行后插入文本

sed '1 a\string1\n\string2\n' /etc/passwd 在第1行后
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sed指定某行插入、追加、全局替换
举报原因:
原因补充:

(最多只允许输入30个字)