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. 举报

相关文章推荐

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

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

sed在指定行插入新行

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

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

sed 在指定行后添加新数据

1. sed 的 追加 a 选项 cat txt aaa 111 bbb ccc 222 ddd eee 333 ggg jjj 444 kkk hhh 555 lll mmm 666 nnn jjj...

sed 的使用(二) -- a/, i/, c/ 追加,插入和删除

sed 的追加,插入和删除 追加[line-address]a/ text插入[line-address]i/ text更改[line-address]c/ text 这些命令都要求后面跟一个/用于转...

linux sed命令,如何替换换行符“\n”

linux sed命令如何替换换行符n 命令解释 第一种方法使用test跳转命令实现替换换行符 branch和test区别 第二种方法使用branch跳转命令实现替换换行符linux sed命令,如何...

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

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

【sed】sed -i命令追加多行内容到指定文件的指定位置

不多说,直接上我写的一个测试脚本的代码,后面有验证结果。 #!/bin/bash #for test add content from src_file to dest_file at specifi...

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

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

SQL删除重复数据只保留一条

SQL删除重复数据只保留一条
  • anya
  • anya
  • 2011-05-09 18:39
  • 303911

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

有时候会有这样的需求,在指定的行后面或者是前面追加一行,这个时候可以使用sed来完成,具体用法如下 a\ 在指定的行后面追加一行 b\ 在指定的行前面追加一行 ### 使用指定的行号追加内容,在使用...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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