sed命令

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/bjnihao/article/details/51832644

sed是一种包括在所有unix平台(包括Linux)的轻量级编辑器。sed主要是用来将数据进行选取,替换,删除,新增的命令。

功能:字符串替换命令

格式:sed [选项] ‘[动作]’ 文件名

选项:

-n:一般sed命令会把所有数据都输出到屏幕,如果加入此选择,则只会把经过sed命令处理的行输出到屏幕。不会修改文件的原始内容,只会将显示到屏幕
-e:允许对输入数据应用多条sed命令编辑
-i:用sed的修改结果直接修改读取数据的文件,而不是由屏幕输出

动作:

a:追加,在当前行后添加一行或多行
c:行替换,用c后面的字符串替换原数据行
i:插入,在当期行前插入一行或多行。
d:删除,删除指定的行
p:打印,输出指定的行。
s:字符串替换,用一个字符串替换另外一个字符串。格式为“行范围s/旧字符串/新字符串/g”(和vim中的替换格式类似)

示例:行数据操作

打印第二行,一定添加-n,如果不加-n会把所有内容输出,并且会出现重复行。

[root@localhost home]# sed '2p' student.txt 
ID  Name    gender  Mark
1   furong  F   88
1   furong  F   88
2   fengjie F   60
3   cang    F   70
[root@localhost home]# sed -n '2p' student.txt 
1   furong  F   88
[root@localhost home]# 

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

删除

[root@localhost home]# cat student.txt 
ID  Name    gender  Mark
1   furong  F   88
2   fengjie F   60
3   cang    F   70
[root@localhost home]# sed '2d' student.txt 
ID  Name    gender  Mark
2   fengjie F   60
3   cang    F   70
[root@localhost home]# sed '2,4d' student.txt //删除2-4行
ID  Name    gender  Mark
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
[root@localhost home]# sed '2d' student.txt 
ID  Name    gender  Mark
2   fengjie F   60
3   cang    F   70
[root@localhost home]# sed '2,4d' student.txt 
ID  Name    gender  Mark
[root@localhost home]# sed '2a piaoliang jiushi renxing' student.txt 
ID  Name    gender  Mark
1   furong  F   88
piaoliang jiushi renxing
2   fengjie F   60
3   cang    F   70
[root@localhost home]# sed '2i piaoliang jiushi renxing' student.txt 
ID  Name    gender  Mark
piaoliang jiushi renxing
1   furong  F   88
2   fengjie F   60
3   cang    F   70
[root@localhost home]# cat student.txt 
ID  Name    gender  Mark
1   furong  F   88
2   fengjie F   60
3   cang    F   70
[root@localhost home]# 

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
[root@localhost home]# cat student.txt 
ID  Name    gender  Mark
1   furong  F   88
2   fengjie F   60
3   cang    F   70
[root@localhost home]# sed '4c cang bujige' student.txt 
ID  Name    gender  Mark
1   furong  F   88
2   fengjie F   60
cang bujige
[root@localhost home]# cat student.txt 
ID  Name    gender  Mark
1   furong  F   88
2   fengjie F   60
3   cang    F   70
[root@localhost home]# sed '4s/70/100/g' student.txt 
ID  Name    gender  Mark
1   furong  F   88
2   fengjie F   60
3   cang    F   100
[root@localhost home]# sed -i '4s/70/100/g' student.txt 
[root@localhost home]# cat student.txt 
ID  Name    gender  Mark
1   furong  F   88
2   fengjie F   60
3   cang    F   100
[root@localhost home]# sed -e 's/furong//g;s/fengj//g' student.txt 
ID  Name    gender  Mark
1       F   88
2   ie  F   60
3   cang    F   100

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
            <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-e9f16cbbc2.css" rel="stylesheet">
                </div>
</article>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值