Bash入门第3篇-常用指令之sed

1、sed 概述

Linux sed 命令是利用脚本来处理文本文件。
sed 可依照脚本的指令来处理、编辑文本文件。
sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。

2、sed的基本语法

 sed [-hnV][-e<script>][-f<script文件>][文本文件]

2.1、sed的参数

参数说明
-e script 或–expression=script以选项中指定的script来处理输入的文本文件
-f script文件 或–file=script文件以选项中指定的script文件来处理输入的文本文件
-h或–help显示帮助
-n或–quiet或–silent仅显示script处理后的结果
-V或–version显示版本信息

2.2、sed的动作

动作说明
a :新增a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c :取代c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行
d :删除因为是删除啊,所以 d 后面通常不接任何咚咚
i :插入i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行)
p :打印亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行
i :插入i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行)
p :打印亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行
s :取代可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法,例如 1,20s/old/new/g
在testfile文件的第四行后添加一行,并将结果输出到标准输出,在命令行提示符下输入如下命令:
sed -e 4a\newLine testfile

2.3、sed基础实例

1、删除第 2 行

sed '2d' filename 

2、将第 2~5 行删除

sed '2,5d' filename

3、删除第3 到最后一行

sed '3,$d' filename

4、在第二行后(即第三行)加上drink tea

sed '2a drink tea' filename

5、在第二行前加上drink tea

sed '2i drink tea'  filename

6、第2-5行的内容取代成为No 2-5 number

sed '2,5c No 2-5 number' filename

7、仅列出第 5-7 行

sed -n '5,7p' filename

8、搜索有root关键字的行

sed '/root/p' filename
sed -n '/root/p' filename

9、删除所有包含root的行

sed  '/root/d filename

10、找到root对应的行
找到root对应的行,执行后面花括号中的一组命令,每个命令之间用分号分隔,这里把bash替换为blueshell,再输出这行。最后的q是退出。

sed -n '/root/{s/bash/blueshell/;p;q}'   filename

11、可以用行为单位进行部分数据的搜寻并取代
除了整行的处理模式之外, sed 还可以用行为单位进行部分数据的搜寻并取代。基本上 sed 的搜寻与替代的与 vi 相当的类似!他有点像这样:

sed 's/要被取代的字串/新的字串/g' filename

12、一条sed命令,删除文件第三行到末尾的数据,并把bash替换为blueshell。-e表示多点编辑

sed -e '3,$d' -e 's/bash/blueshell/'  filename
  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云计算-韩老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值