格式

sed [-nefr] [n1,n2] 动作-n 安静模

式,只有经过sed处理过的行才显示出来,其他不显示。-e 直接在命

令行模式上进行sed的操作。貌似是默认选项,不用写。-f 将sed的操作写在一个文

件里,用的时候

-f filename 就可以按照内容进行sed操作了。-r 使之支持扩展正则表达式n1,n2 不一定需要,

选择要进行处理的行, 10,20 表示在10~20行之间处理动作a 添加,接字符串,添加到当前行的下一行。c 替换, 接字符串,用他们替换n1到n2之间的行。d 删除符合模式的行

Example:sed '/regexp/d' //

之间是正则表达式,模式在d前面,d后面一般不接任何内容。i 插入,接字符串,添加到当前行的上一行。p 打印,打印某个选择的数

据,通常与-n 安静模式一起使用s 搜索,

还可以替换,类似与vim里的搜索替换功能。Example:

sed '1,20s/old/new/g' 替换1~20行的old为new注意:动作最好用'

'括起来,防止空格导致错误。Example:显示

passwd内容,将2~5行删除显示root@localhost:~/tmp$ cat -n /etc/passwd |sed '2,5d'

1 root:x:0:0:root:/root:/bin/bash6 games:x:5:60:games:/usr/games:/bin/sh7 man:x:6:12:man:/var/cache/man:/bin/sh

8 lp:x:7:7:lp:/var/spool/lpd:/bin/sh............在第二行后面一行加上Hello China 字符串root@localhost:~/tmp$ cat -n /etc/passwd |sed '2a Hello

China!'1 root:x:0:0:root:/root:/bin/bash2 daemon:x:1:1:daemon:/usr/sbin:/bin/shHello China!

......在第二行后面一行加上两行字,例如

"this is first line!" "this is second line!"

root@localhost:~/tmp$ cat -n /etc/passwd |sed '2a This is first line!

\//使用续航符\后按回车输入后续行> This is second line!'// 以' 再回车结束1 root:x:0:0:root:/root:/bin/bash

2 daemon:x:1:1:daemon:/usr/sbin:/bin/sh

This is first line!

This is second line!

3 bin:x:2:2:bin:/bin:/bin/sh将2~5行内容替换成

我是大好人!root@localhost:~/tmp$ cat -n /etc/passwd | sed '2,5c 我是大好人!'1 root:x:0:0:root:/root:/bin/bash

我是大好人!6 games:x:5:60:games:/usr/games:/bin/sh

7 man:x:6:12:man:/var/cache/man:/bin/sh

8 lp:x:7:7:lp:/var/spool/lpd:/bin/sh只显示5~7行, 注意p 与-n 配合使用!root@localhost:~/tmp$ cat -n /etc/passwd |sed -n '5,7p'5 sync:x:4:65534:sync:/bin:/bin/sync

6 games:x:5:60:games:/usr/games:/bin/sh

7 man:x:6:12:man:/var/cache/man:/bin/sh备注:上述sed命令修改后只是显示,并没有写入到文件中,如果想

写入到文件中,sed 改变为sed

-i使用ifconfig

列出IP,

我们只想要

eth0的 IP地址可以这样,先用grep

取出有IP的那一行,然后用sed去掉(替换成空) IP前面和后面的内容。root@localhost:~/tmp$ ifconfig

eth0

eth0 Link encap:Ethernet HWaddr

00:16:36:02:41:aa inet

addr:172.30.171.35 Bcast:172.30.171.255

Mask:255.255.255.0UP

BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX

packets:1221198 errors:0 dropped:0 overruns:0 frame:0

TX

packets:1125085 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX

bytes:1477365271 (1.3 GB) TX bytes:141539593 (134.9

MB)Interrupt:20

root@localhost:~/tmp$ ifconfig

eth0 | grep inet |sed 's/^.*addr://g' | sed 's/Bcast.*$//g'

172.30.171.35

root@localhost:~/tmp$

^.*addr: 表示

从开头到addr:的字符串,s/^.*addr://g 表示将它替换为空,

Bcast.*$ 表示从Bcast到结尾的串,s/Bcast.*$//g 表示将它替换为空,//s 为搜索则剩下IP了!在/etc/manpath.config中,将有MAN的设

置取出,但不要说明内容。root@localhost:~/tmp$cat /etc/manpath.config |grep 'MAN'

|sed 's/#.*$//g' |sed '/^$/d'

MANDATORY_MANPATH /usr/man

MANDATORY_MANPATH /usr/share/man

MANDATORY_MANPATH /usr/local/man

MANPATH_MAP /bin /usr/share/man

MANPATH_MAP /usr/bin /usr/share/man

MANPATH_MAP /sbin /usr/share/man

MANPATH_MAP /usr/sbin /usr/share/man

...........注意#不一定出现在行首。

因此

#.*$ 表示

#和后面的数据直到行尾,s/#.*$//g 即一行注释,将他们替换成空^$

表示空行,后接d 表示删除空行。注意:删除空行不能用替换方法,因为空行替换成空后,还是有换行符在那一行。

linux sed举例,sed 常用命令与参数,带举例:时时更新!相关推荐

  1. 97 条 Linux 运维工程师常用命令总结

    97 条 Linux 运维工程师常用命令总结 1.ls [选项] [目录名 | 列出相关目录下的所有目录和文件 -a 列出包括.a开头的隐藏文件的所有文件-A 通-a,但不列出"." ...

  2. Linux: 近100个常用命令大全

    1.ls [选项] [目录名 | 列出相关目录下的所有目录和文件 -a 列出包括.a开头的隐藏文件的所有文件 -A 通-a,但不列出"."和".." -l 列出 ...

  3. Linux基础系统优化及常用命令

    # Linux基础系统优化及常用命令 [TOC] ## Linux基础系统优化 Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. - ...

  4. 很实用的Linux 系统运维常用命令及常识(超实用)

    很实用的Linux 系统运维常用命令及常识(超实用) 作为Linux运维,需要了解Linux操作系统的基本使用和管理知识,下面脚本之家小编给大家介绍下Linux运维需要掌握的命令,想成为Linux运维 ...

  5. Linux系统运维常用命令

    Linux 系统运维常用命令 1 文件管理2 软件管理3 系统管理 4 服务管理5 网络管理6 磁盘管理 7 用户管理8 脚本相关9 服务配置 ============================ ...

  6. Linux 文件打包压缩常用命令(笔记,搜录自网络和文档)

    Linux 文件打包压缩常用命令 zip 老了一些,但是所有系统都支持(.zip). 格式   zip 压缩后的文件名 要被压缩的文件 参数 参数   -1                    压缩 ...

  7. Linux目录结构和常用命令

    Linux目录结构和常用命令 一.Linux目录结构 Linux文件夹很多都是固定的,分门别类,要想快速弄清楚系统的架构,那么哪些目录里面装着哪些文件是干什么用的. 首先,回顾一下Linux系统下文件 ...

  8. linux 查看服务器性能常用命令

    2019独角兽企业重金招聘Python工程师标准>>> linux 查看服务器性能常用命令 一.top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况, ...

  9. 【Java从0到架构师】Linux 基础知识、常用命令

    Linux 基础知识.常用命令 Linux 基础知识 内核和发行版 常见的 Linux 发行版 Linux 的应用领域 Linux 与 Windows 的区别 Linux 常用命令 *系统目录结构 s ...

  10. linux pki目录,Linux目录结构和常用命令

    Linux目录结构和常用命令 一.Linux目录结构 Linux文件夹很多都是固定的,分门别类,要想快速弄清楚系统的架构,那么哪些目录里面装着哪些文件是干什么用的. 首先,回顾一下Linux系统下文件 ...

最新文章

  1. Linux系统内存管理之伙伴系统分析 - 旭东的博客 - 博客园
  2. react技术栈实践
  3. 牛客练习赛69D-火柴排队【dp】
  4. GridView控件中的一些常见问题
  5. 玩转SpringSession,重要知识点全面剖析(续篇)
  6. Visual Studio Code 1.41 发布
  7. LeetCode 49. Group Anagrams
  8. matlab2c使用c++实现matlab函数系列教程-awgn函数
  9. 为什么算法工程师也叫调参狗?
  10. mongoDB可视化工具Robo 3T
  11. Android双清卸载木马,刷机如何清除木马病毒
  12. 手机端访问本地编写的html页面【亲测有效】
  13. ps 图层解锁后变成全格子(全透明)的解决方法
  14. 计算机专业职业生涯规划书word,计算机专业职业生涯规划书word文档
  15. 3D光固化lcd树脂选购与光固化参数选择
  16. 沈师附属艺术学校计算机,沈阳师范大学附属学校(沈师附中)基本情况介绍
  17. 物流管理MATLAB,《Matlab与物流管理实验》实验教学大纲
  18. 团建游戏----快乐大转盘
  19. 解决 selectOne 取到多个报错问题
  20. cms访问index.php出错,易优Cms去除URL中的index.php

热门文章

  1. 模态对话框阻塞主线程的话不影响其他线程操作主线程控件(不阻塞)
  2. 二维傅里叶变换是怎么进行的?
  3. c#多维数组的建立及操作 总结
  4. ztree 更新配置后重新渲染树_【问】zTree异步加载时添加父节点怎样避免再次加载整树...
  5. 调用系统相机和相册,并且裁剪成圆形图片(解决6.0,7.0,8.0版本问题)
  6. .net mysql 备份_windows mysql 自动备份的几种方法
  7. bean找不到报空指针_为什么C指针可以实现函数间的通信呢?
  8. hive 两个没有null指定的表左关联的结果有null_《数据仓库篇》——Hive的学习笔记3...
  9. anaconda下载的python在哪_Anaconda下Python环境下载及安装
  10. Android开发之高仿百度地图底部滑出菜单