设为首页 - 加入收藏 马鞍山站长网(0555zz.Com) - 马鞍山最大的互联网资讯交流平台!
热搜: 学习 为什么 教程 2017
当前位置: 首页 > 站长百科 > 正文

详解Linux sed命令语法、命令及实例说明

发布时间:2019-09-12 16:46 所属栏目:[站长百科] 来源:波波说运维
导读:sed是一种流编编器,它是文本处理中非常中的工具,能够完美的配合正则表达式便用,功物能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为模式空间( oattern space),接看用sed命令处理缓冲区中的内容,处理成后,把缓冲区的内容送往屏幕显示。

sed是一种流编编器,它是文本处理中非常中的工具,能够完美的配合正则表达式便用,功物能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为”模式空间”( oattern space),接看用sed命令处理缓冲区中的内容,处理成后,把缓冲区的内容送往屏幕显示。

接着理下一行,这样不断重复,直到文件末。文件内容没有改改变,除非使用了写入的命令,将内容更新。定址用于决定对哪些行进行编辑。地址的形式可以是数字、正则表达式、或二者的结合。如果没有指定地址,sed将处理输入文件的所有行。

一、sed语法

sed 命令的基本格式如下:

  1. sed?[选项]?[脚本命令]?文件名?

该命令常用的选项及含义,如表 1 所示。

详解Linux sed命令语法、命令及实例说明

成功使用 sed 命令的关键在于掌握各式各样的脚本命令及格式,它能帮你定制编辑文件的规则。

二、sed脚本命令

sed s 替换脚本命令此命令的基本格式为:

  1. [address]s/pattern/replacement/flags?

其中,address 表示指定要操作的具体行,pattern 指的是需要替换的内容,replacement 指的是要替换的新内容。

关于指定具体操作行(address)的用法,这里先不做解释,文章后续会对其做详细介绍。

此命令中常用的 flags 标记如表 2 所示。

详解Linux sed命令语法、命令及实例说明

三、实例演示

1. 只打印第三行

  1. sed?-n?'3p'?/var/log/yum.log?

详解Linux sed命令语法、命令及实例说明

2. 只查看文件的第3行到第9行

  1. sed?-n?'3,9p'?/var/log/yum.log?

详解Linux sed命令语法、命令及实例说明

3. 过滤特定字符串,显示正行内容

  1. sed?-n?'/perl/p'?/var/log/yum.log?

详解Linux sed命令语法、命令及实例说明

4. 打印1-5行,并显示行号

  1. sed?-n?-e?'1,5p'?-e?'='?/var/log/yum.log?

详解Linux sed命令语法、命令及实例说明

5. 替换

  1. sed?'s/disabled/enforcing/g'?/etc/selinux/config??
  2. sed?-i?'s/disabled/enforcing/g'?/etc/selinux/config??

详解Linux sed命令语法、命令及实例说明

6. 正则匹配IP和子网掩码

  1. ifconfig?|sed?-n?'2p'?
  2. ifconfig?|sed?-n?'2p'?|?sed?-r?'s#.*r:(.*)?B.*k:(.*)#\1?\2#g'??
  3. --(.*)表示匹配的项,之后可以用\1取出第一个括号内匹配的内容,\2取出第二个括号内匹配的内容??

详解Linux sed命令语法、命令及实例说明

7. sed错误使用

  1. sed?'s#,#?#h'?xx.txt?|?cut?-d"?"?-f?3,5?xx.txt?<--?错误的用法,前面已经处理了,后面又用cut查看h.txt文件?
  2. sed?'s#,#?#h'?xx.txt?|?cut?-d"?"?-f?3,5?-->?正确的用法?

【编辑推荐】

  1. Linux怎么查看正在运行的进程的CPU和内存使用率?
  2. 怎么制作Linux系统安装盘,U盘启动盘
  3. Linux常用命令:简单易学,但能解决95%以上的问题!
  4. 微软承认正开发适用于Linux平台的Microsoft Teams
  5. Linux系统上使用find命令查找文件的N种案例
【责任编辑:赵宁宁 TEL:(010)68476606】
点赞 0

(编辑:网站开发网_马鞍山站长网 0555Zz.Com)

网友评论
推荐文章