sed命令用法

1.功能简介

sed,是一种流编辑器,Linux三剑客命令之一。其特点为非交换式、逐行处理。

2.语法格式

sed   [OPTION]... {script-only-if-no-other-script}       [input-file]..
命令     参数                条件-处理 (指令)              处理文件信息

其中处理动作可由-e指定多个处理动作,input-file为输出文件,可指定多个。

3.语法说明

                    参数选项                                                                         解释
-n 取消默认sed输出,常于sed内置命令p一起使用
-i 直接把修改结果写入文件,不用-i,sed修改的是内存数据
-e 多次编辑不需要管道符
-r 支持扩展正则

sed的内置命令用于对文件进行不同的操作功能,如对文件增删改查。

sed常用的内置命令字符

         sed的内置命令字符                                                                                                解释         
a  对文本追加,在指定行后面添加一行
d  删除匹配的行
i  表示插入文本,在指定行前添加一行或多行文本
p 打印匹配行的内容
s/正则/替换内容/g 匹配正则内容,然后替换内容,结尾g表示全局匹配

sed匹配范围

                        范围                                                                解释
空行 全文处理
单行模式 指定文件某一行
/pattern/ 被模式匹配到的每一行
范围区间 10,20 十到二十行 ,10,+5 第十行向下5行
步长 1~2,表示1、3、5、7、9行

例题

用sed取出虚拟机的IP地址

[root@wish-172.20.20.80 ~ ]#ifconfig |sed -e '2s/.*inet//' -e '2s/net.*//p' -n
172.20.20.80

[root@wish-10.0.0.200 ~]# ifconfig |sed '2p' -n |sed 's/.*inet//g'|sed 's/net.*//g'
10.0.0.200

posted @ 2020-12-24 23:04  老天啊  阅读(249)  评论(0编辑  收藏  举报