sed-流处理编辑器

一、格式

1、命令行格式
$sed [options] ‘command’ file(s)
options:-e;-n(一般和-p打印命令配合使用);-i(修改文件内容并保存)
command:行定位(正则)+sed命令(操作)

2、脚本格式

sed -f scriptfile file(s)

3-1、基本操作命令-p命令

p:打印相关的行(注意需要和-n配合使用,否则会重复打印输出)
例子:输入文本所有的行	sed -n 'p' passwd

sed-行定位
定位一行:x;/pattern/
例子:打印第十行	sed -n '10p' passwd
		   打印包含字符'home'的行 sed -n '/home/p' passwd
		   
定位多行:x,y;/pattern/,x;/pattern1/,/pattern2/;x,y!;
例子:打印第5至第10行	sed -n '5,10p' passwd
		   打印包含字符串'uucp'开始的行至第40行  sed -n '/uucp/,40p' passwd
		   打印包含字符串'uucp'开始至包含字符串'haldaemon'结束的行  sed -n '/uucp/,/haldaemon/p' passwd
		   打印不在第10行至第20行范围内的行    nl passwd |sed -n '10,20!' 
定位间隔几行:first~step
例子:打印从第一行开始间隔两行打印输出	nl passwd |sed -n '1~2p'

3-2、基本操作命令-行处理命令

a(新增行)/ i(插入行)
c(替代行)
d(删除行)
例子:在第五行后插入"============="  nl passwd |sed '5a============='
		   在第五行前插入"============="  nl passwd |sed '5i============='
		   将第10行替换为"============="  nl passwd |sed '5c============='
		   将第五行删除  nl passwd |sed '5d' 

3-3、基本操作命令-行处理命令-s替换命令(核心,必须掌握)

s(替代):分隔符/,#等
g(全局):替换标志
例子:将文本中每行匹配的第一个nologin替换为hahah     sed 's/nologin/hahah/' passwd
		   将文本中的':'全部替换为','    sed 's/:/,/g' passwd

3-4、sed高级操作命令-{}、n

{}:多个sed命令,用;分开
-n:读取下一个输入行(用下一个命令处理)
例子:删除文本第20至30行然后将文本中的'nologin'替换为'哈哈'  nl passwd |sed '{20,30d;s/nologin/哈哈/}'

3-5、sed高级操作命令-&使用及案例

&:替换固定字符串
例子:将文本中的字符串'nologin'替换为'nologin123'    sed 's/nologin/&123' passwd

3-6、sed高级操作命令-()符号案例

\(\):替换某种(部分)字符串(\1 \2)
例子:获取passwd文件中的user、uid、gid

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3-7、sed高级操作命令-rw命令使用

-r:复制指定文件插入到匹配行(不改变文件内容)
-w:复制匹配行拷贝到指定文件里
例子: 将文件123.txt内容读到abc.txt的第一行后

sed '1r 123.txt' abc.txt

例子: 将abc.txt文件的第一行拷贝123.txt文件 sed '1w 123.txt' abc.txt(123.txt文件内容会改变,内容为abc.txt的第一行内容)

3-8、sed高级操作命令-q命令使用

q:退出sed
例子:读取到第十行退出sed:

nl passwd |sed '10q'
  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值