sed 替换文件内容_sed介绍

Sed是一个流式文本编辑器,输入一个文本文件内容,sed通过命令可以对文本进行详细的操作,包括

ü  字符替换

ü  打印带字符的行

ü  打印不带xx字符的行

ü  删除对应行号的行

ü  对应行后增加内容

ü  对应行前增加内容

ü  行替换

 等;

处理原理说明:

d04f8d78802070db78df85d4f993c18d.png

Sed从文件中每次读取一行内容到缓存中(叫临时存储或者匹配空间),处理完成后,再输出到屏幕,不会修改原始内容;从到临时存储的内容,除非使用了删除命令d和不打印临时区-n,所有内容都会输送到屏幕打印;

命令说明:

Sed  命令选项... 脚本文件 输入文件

命令选项:

-n:

  不打印匹配的内容

-e script

  指定脚本命令

-f script-file

  指定执行脚本文件

--help

  显示帮助信息

-V

   显示版本号

动作说明:

a\

 在匹配的行后面增加新行内容

 示例:[root@localhost test]# sed '/eeee/a\beatifull' testsed2

c\

再匹配的行修改为目标行内容

 示例:[root@localhost test]# sed '/eeee/a\beatifull' testsed2

d

 删除匹配行

示例:[root@localhosttest]# sed '/eeee/d' testsed2

i\

 在匹配行内容前面增加内容

 示例:[root@localhost test]# sed '/eeee/i\beatifull' testsed2

p

 打印行

q

 退出

r

 从文件读取行

!

 匹配行之外行

s

 替换

 常见示例:

命令

描述

sed –n '/sentimental/p' filex

打印filex文件内容包含sentimental的行

sed '1,3d' filex > newfilex

从文件filex中删除第1行到第三行,剩余内容重定向到newfilex中

sed '/[Dd]aniel/d' filex

从文件filex中删除包含daniel或者Daniel行;

sed –n '15,20p' filex

打印文件filex 15行到20行

sed '1,10s/Montana/MT/g' filex

从第1行到第10行把包含Montana的字符替换为MT

sed '/March/\!d' filex    (csh)
 sed '/March/!d' filex     (sh)

把不不包含March的行都删除掉,csh和sh语法有些差异;

sed '/report/s/5/8/' filex

把包含report字符的行第1个出现的字符修改为8

sed 's/....//' filex

删除每行前4个字符

sed 's/...$//' filex

删除每行最后3个字符

sed '/east/,/west/s/North/South/' filex

所有落于east到west之间的行,都把 North替换为South字符

sed –n '/Time off/w timefile' filex

把文件filex中包含Time off的行都写入到timefile

sed 's/\([Oo]ccur\)ence/\1rence/' file

把 Occurence或者occurence替换成Occurrence 或者occurrence.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值