Linux三剑客命令常见用法之sed

sed是一种流编辑器,全程Stream EDitor,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。工作原理大概是sed取出模式中匹配到的文本在“模式空间”中修改(想象成加工场),并不会对源文件修改。一些高级的命令参数会用到“保持空间(想象成仓库)”,下次细说sed的高级用法。

一、基本用法的格式

sed	参数  ‘/地址定界/编辑命令’  文件

二、常见参数

-n	静默模式,不自动输出
-e	多点编辑功能
-f	从指定的文件读取命令脚本、
-i	直接对源数据编辑

三、地址定界

#		指定第#行
#,#		指定第#行到第#行
#,#+n	指定第#行到第#+n行
#,/PATTERN/		指定第#行到被PATTERN指定的行
/PATTERN/		被此模式匹配到的每一行
/PATTERN1/,/PATTERN2		模式1与模式2之间的行

三、常用命令

d	删除匹配到的行
p	打印匹配到的行
a	在匹配到的行的后面追加
i	在匹配到的行的前面追加
c	在匹配到的行的前面和后面都追加
w	将匹配到的行另存为
=	显示出匹配到的行的行号
r	从某文件中读行
!	取反
s/PATTERN1/PATTERN2/g	全局将PATTERN1替换成PATTERN2	

# sed '/^#/d'/etc/fstab			删除以#开头的行
# sed -n '/^#/p' /etc/fstab		只打印出以#开头的行
# sed '/^UUID/a hello sed' /etc/fstab	在以UUID开头的行后面加入一行为hello sed
# sed '/^UUID/w /tmp/text.txt' /etc/fstab	将以UUID开头的行放在text.txt文件中保存
# sed '/^UUID/=' /etc/fstab		显示匹配到模式的行号
# sed '6r text.txt' /etc/fstab		读取text.txt的内容放置fstab文件第六行后面
# sed 's/^UUID/uuid/g' /etc/fstab	将以UUID开头的UUID替换成uuid
# sed '1,4d' /etc/fstab			删除1到4行
# sed -n '1~2p' /etc/fstab			打印出奇数行

四、几个练习


以上就是自己对sed命令最简单的归纳,如有错误,请指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值