搜索替换---sed的使用

sed全称是:Stream EDitor(流编辑器)。
当处理数据时,Sed 从输入源一次读入一行,并将它保存到所谓的模式空间pattern space中。

sed替换的基本语法为:
sed 's/原字符串/替换字符串/'
sed "s/原字符串包含/'替换字符串包含'/" #要处理的字符包含单引号,就必须用双引号
sed 's/原字符串/替换字符串/g'
# 在末尾加g可以替换每一个匹配的关键字(全局替换),否则只替换每行的第一个

----s后面跟的是分隔符,一般为斜线"/",也可为"?"等。
🐷分隔符"/"一般用于对文本内容进行操作时;对行进行操作时,不加引号''也可

sed替换的举例
sed '2s/原字符串/替换字符串/g' #替换第2行中每一个匹配的关键字(全局替换)
sed '$s/原字符串/替换字符串/g' #替换最后一行中每一个匹配的关键字(全局替换)
sed '2,5s/原字符串/替换字符串/g' #替换2到5行中每一个匹配的关键字(全局替换)
sed '2,$s/原字符串/替换字符串/g' #替换2到最后一行中每一个匹配的关键字(全局替换)

🐖 参数s表示取代,替换。
🐖 未标注第几行,就是对每一行都执行此操作。
🐖 $符号如果在/$/中表示行尾,但是在/$/外却表示末行(最后一行)

sed 's/^/添加的头部&/g' #在所有行首添加
sed 's/$/添加的尾部&/g' #在所有行末添加

🐖 上箭头^表示行首
🐖参数 &表示添加

使用参数d进行删除

linux如何删除文件某几行https://www.yisu.com/zixun/724766.html
删除文件的第2行和第4行

sed -i '2d' filename # 删除第2行
sed -i '3d' filename # 删除第3行(现在的第3行,之前的第4行)

🐖 注意行数要按删除后的计算

删除第2行到第5行

sed '2,5d' filename
或者
sed '2d;3d;4d;5d' filename

删除包含特定字符,,如system的行

sed '/system/d' 文件名

删除特定字符开头的行

sed '/^特定字符/d' 文件名

删除以 R 或者 F 开头的行

sed '/^[RF]/d' filename

删除以 x 或 m 结尾的行

sed '/[xm]$/d' filename

删除第 3到 6 行以外的其他行

sed '3,6!d' filename

删除有System 或 Linux 的行符号 (\| 代表逻辑或)

sed '/System\|Linux/d' filename

删除文件的空白行

sed '/^$/d' filename

删除最后一行

sed '$d' filename

删除包含字母字符的行

sed '/[A-Za-z]/d' filename

🐖[A-Z] 表示大写字母;[a-z] 表示小写字母。
删除包含数字的行

sed '/[0-9]/d' filename
同时执行多个替换规则

替换样式可以多个在同一条命令中执行,用分号”;”分隔.例如:

sed 's/^/添加的头部&/g;s/$/&添加的尾部/g' # 同时执行两个替换规则
使用参数”i”直接在文件中替换

sed处理过的输出是直接输出到屏幕上的,要保存可以将输出重定向,或者使用参数”i”直接在文件中替换:

sed -i 's/原字符串/替换字符串/g' filename //替换文件中的所有匹配项
查看某行内容

查看某一行

sed -n '26p' filename

查看第5行到10行

sed -n 5,10p' filename

查找文件中有/bin/bash字符串的行

sed -n '\%/bin/bash% p' filename

####特定字符串的行前插入新行

sed -i '/特定字符串/i 新行字符串' file

###特定字符串的行后插入新行

sed -i '/特定字符串/a 新行字符串' file

Linux的sed命令详解大全https://blog.csdn.net/jks212454/article/details/116066856

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值