Linux复习归纳6-sed

LINUX

Linux复习归纳6~

sed

​ sed是一种流编辑器,能够完美配合正则表达式。

​ 它会先把要处理的行存储在临时缓冲区,接着用sed命令处理缓冲区的内容。处理完成后把缓冲区的内容输出到屏幕,接着处理下一行直到文件末尾。

​ sed常见的参数:

-n	//取消默认的完整输出,只要需要的
-e	//允许多项编辑
-i	//修改文件内容
-r	//不需要转义

​ sed常见命令:

a\	在当前行最后添加一行或多行(多行除了最后一行外,其余每行末尾都要加\)
c\	此符号后的内容替换当前行的内容(多行除了最后一行外,其余每行末尾都要加\)
i\	当前行之前插入一行或多行(多行除了最后一行外,其余每行末尾都要加\)
&	代表上次匹配的结果
p	//输出
d	//删除
=	//打印匹配行的行号
l	//列出非打印字符
$	//最后一行
n	//读入下一个输入行,并从下一条命令开始对其处理
r	//从文件中读取输入行到匹配行后,仅用于显示
w	//从文件中读取输入行到匹配行后,会实际写入
!	//对所选行以外的所有行应用命令
s	//用一个字符串替换另一个
y	//将字符替换为另一个字符
g	//在行内进行全局替换
h	//把模式空间的内容复制到缓冲区
H	//把模式空间的内容追加到缓冲区
g	//把缓冲区的内容复制到模式空间
G	//把缓冲区的内容追加到模式空间
x	//交换缓冲区和模式空间的内容
q	//结束退出

//关于命令匹配、删除、替换等操作的范围可以用数字、正则表达式或者两者的组合表示

例子:

1. 打印文件第一行:
$ sed -n '1p'	文件名

2. 打印1-3行
$ sed -n '1,3p' 文件名

3. 打印所有包含特定字符串"string"的行
$ sed -n '/string/p' 文件名

4. 打印从包含"string1"的行到包含"string2"的所有行
$ sed -n '/string1/,/string2/p' 文件名

5. 打印包含"string"的行号
$ sed -n '/string/=' 文件名

6. 打印包含"string"的行和行号
$ sed -n -e '/string/p' -e '/string/=' 文件名

7. 打印最后一行
$ sed -n '$p' 文件名

8. 用字符串"string1"替换为"string2"
$ sed -i 's/string1/string2/g' 文件名	(其中s为替换,g为全部替换)

9. 文件第一行添加"string1",最后一行添加"string2"
$ sed -i -e '1i string1' -e '$a string2' 文件名	(1代表第一行,$代表最后一行)

10. 文件第1-4行每行下面添加"string"
$ sed -i '1,4a string' 文件名

11. 删除从1-3行
$ sed -i '1,3d' 文件名

12.	删除从'string1'到第10行的所有行	
$ sed -i '/string1/,10d' 文件名

13. 将a.txt文件中的内容显示到包含“string”的行后
$ sed '/sring/ r a.txt' 文件名

14. 将a.txt文件中的内容写入到包含“string”的行后
$ sed '/sring/ w a.txt' 文件名

转载请注明出处!!!

如果有写的不对或者不全面的地方 可通过主页的联系方式进行指正,谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值