sed高级操作

cat empnametitle.txt
John Doe
CEO
Jason Smith
IT Manager
Raj Reddy
Sysadmin
Anand Ram
Developer
Jane Miller
Sales Manager

命令 x(Exchange)交换模式空间和保持空间的内容
sed –n -e ‘{x;n}’ –e ‘/Manager/{x;p}’ empnametitle.txt
Jason Smith
Jane Miller

命令 h(hold)把模式空间的内容复制到保持空间
sed -n -e ‘/Manager/!h’ -e ‘/Manager/{x;p}’ empnametitle.txt
Jason Smith
Jane Miller

大写 H 命令表示把模式空间的内容追加到保持空间
sed -n -e ‘/Manager/!h’ -e ‘/Manager/{H;x;p}’ empnametitle.txt
Jason Smith
IT Manager
Jane Miller
Sales Manager
假定目前模式空间内容为”line 1”,保持空间内容为”line 2”。那么执行命令 H 后,模式空间 的内容没有改变,仍然为”line 1”,保持空间的内容则变为”line2\nline 1”。 (追加在后面)

命令 g(get)把保持空间的内容复制到模式空间
sed -n -e ‘/Manager/!h’ -e ‘/Manager/{g;p}’ empnametitle.txt
Jason Smith
Jane Miller

sed -n -e ‘/Manager/!h’ -e ‘/Manager/{x;G;s/\n/: /;p}’ empnametitle.txt
Jason Smith:IT Manager
Jane Miller:Sales Manager

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值