Linux sed常规用法

语法:
sed [选项] '模式动作' 文件...

一、常用参数

参数描述
-i直接操作文件
-e将脚本添加到要执行的命令中
-f将脚本文件的内容添加到要执行的命令中
-r在脚本中使用扩展正则表达式。

二、常规用法示例

#将文件a.txt中字符a替换为字符b 
sed -i "s#a#b#g" a.txt

#将文件a.txt中字符a替换为字符b 并且 字符c替换为字符d
sed -i "s#a#b#g;s#c#d#g" a.txt

#删除文件a.txt中abcd所在行
sed -i "d#abcd#" a.txt

#删除文件a.txt中abcd字符(借助替换即可)
sed -i "s#abcd##g" a.txt

#删除文件a.txt中第3行
sed -i "5d" a.txt

#删除文件a.txt中第3~5行
sed -i "3,5d" a.txt

三、高级用法

正则表达式
符号解释与用法
.匹配除换行符外任意一个字符
*"*"表示前边字符有0个或多个
[]
[a-z]:表示a-z字符中的一个,也就是小写字母。
[0-9]:表示0-9字符中的一个,也就是表示数字。
[A-Z]:表示大写字母。
[a-zA-Z]:表示字符集为小写字母或者大写字母。
[a-zA-Z0-9]:表示普通字符,包括大小写字母和数字。
[abc]:表示字符a或者字符b或者字符c。
[^0-9]:表示非数字类型的字符,^表示取反意思,只能放在中括号的开始处才有意义。
[-cz]:表示字符-或者字符c或者字符z,注意与[c-z]的区别,因为-符号没有放在e和f之间。
^"^"表示行首
$"$"表示行尾
\"\"表示是转义字符
{}"{}"表示前边字符的数量范围
?"?"表示前置字符有0个或1个
+"+"表示前置字符有1个或多个
|"|"表示指明两项之间的一个选择
()"()"表达式分组

 示例:

#将文件a.txt中以字符a开头的行内容替换为bbb 
sed -i "s#^a#bbb#g" a.txt

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值