sed(stream editor):是流编辑器,按行进行操作,对符合模式的行在内存中进行操作,不对原文件进行修改,处理结束后将模式空间打印到屏幕。

sed 的模式空间 处理文件流的内存空间叫模式空间,这个模式空间可以用正则表达式对文件进行过滤。

sed [optitons]'AddressCommand' file,file....

[optition]

-n 不再显示模式空间中的内容,

-i 直接修改原文件,

-e :可以同时执行多个脚本

-f 指定一个文件 文件里面保存操作的脚本

-r:表示使用扩展正则表达式

Address

Address:
1.StartLine,EndLine 用逗号隔开
2.模式 /Pattern/ Pattern=RegExp  eg:/^root/  以root 开头的行
3./pattern1/,/pattern2/,第一次被pattern1匹配到的行至第一次被pattern2匹配到的行
4.只给一个数值,特定的一行。$表示最后一行。
5.指定起始行,StartLine,+N,从StartLine开始,向后N行。

Command:
d:删除符合条件的行
p:显示符合条件的行 显示以斜线开头的行 eg:sed '/^\//p' /etc/fstab
a: \string: 在指定的行后面追加新行,内容为string  eg:'/^\//a \hello word' /etc/fstab 寻找/etc/fstab 中以反斜杠开头的行,并在后面添加 hello word
i: \string;在指定的行前面添加新行,内容为string
r file :将指定的文件的内容添加至符合条件的行处 eg:sed '2r /etc/issue' /etc/fstab
w file :将指定范围内的内容另存为另外一个文件中 eg: sed '/oot/w /tmp/oot.txt' /etc/fstab 将/etc/fstab中含有oot的行保存到/tmp/oot.txt中
s:/pattern/string/修饰符:查找并替换,默认替换每行中第一次被模式匹配到的字符串。加修饰符 g:全局替换。i:查找时忽略字符大小写。s后面的分隔符可以用用几个相同的字符代替。比如###
sed's/oot/OOT/' /etc/fstab,sed's/^\//#/' /etc/fstab将行首的反斜杠替换为井号。
&:表示引用的模式匹配到的串。 sed 's#l..e#&r#g' sed.txt 将符合l..e 的字符串替换为后面加r
或者sed 's#\(l..e\)#\1r#g' sed.txt 这叫做后向引用。

linux sed 命的更多相关文章

  1. Linux sed 替换第一次出现的字符串

    /********************************************************************************* * Linux sed 替换第一次 ...

  2. linux sed命令参数及用法详解

    linux sed命令参数及用法详解 http://blog.csdn.net/namecyf/article/details/7336308 1. Sed简介 sed 是一种在线编辑器,它一次处理一 ...

  3. linux sed 批量替换多个文件中的字符

    格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` linux sed 批量替换多个文件中的字符串 sed -i "s/oldst ...

  4. [转帖]linux sed命令

    linux sed命令就是这么简单 https://www.cnblogs.com/wangqiguo/p/6718512.html 用到的最多的就是一个sed -i 's/nn/mm/' 的命令了. ...

  5. 理解linux sed命令

    理解linux sed命令(2010-02-27 18:21:20) 标签:linuxshellsed替换 分类:革命本钱 1. Sed简介sed是一种在线编辑器,它一次处理一行内容.处理时,把当 前 ...

  6. learn Linux sed command

    learn Linux sed command 一.参考文档: . sed命令详解 http://qifuguang.me/2015/09/21/sed%E5%91%BD%E4%BB%A4%E8%AF ...

  7. 【转】linux sed命令

    转自:linux sed命令就是这么简单 参考:Linux三大剑客之sed:https://blog.csdn.net/solaraceboy/article/details/79272344 阅读目 ...

  8. linux sed命令(擅长输出行)(转)

    linux命令总结sed命令详解 Sed 简介 sed 是一种新型的,非交互式的编辑器.它能执行与编辑器 vi 和 ex 相同的编辑任务.sed 编辑器没有提供交互式使用方式,使用者只能在命令行输入编 ...

  9. Linux sed 使用笔记

    sed 工具使用笔记 Linux中经常需要对一些超大的文本文件进行操作,例如 GB 级别的 CSV.TXT.LOG 文件,如果使用 vi 或者 vim 编辑器操作会非常慢且卡,此时 sed 工具或许可 ...

随机推荐

  1. Android sdk 更新失败解决方发整理

    解决办法: 设置本地hosts windows里hosts位置在C:\Windows\System32\drivers\etc,找到hosts文件 直接在hosts文件的最后加一行: 74.125.2 ...

  2. MyBatis_传入参数的问题

    一.单个参数 1.基本数据类型 (1)直接使用 List<ChargeRuleDO> tests(long id); <select id="tests" res ...

  3. oracle中导出表的结构和数据

    在linux环境上: exp user_name/password@//ip_address:1521/service_name file=aa.sql tables=\(table_name\); ...

  4. find - exec 命令

    find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了. exec解释: -exec  参数后面跟的是command ...

  5. 大型网站技术学习-2. 云计算之OpenStack简述

    上一章讲,虚拟化能够充分的利用资源,带来各种各样的好处. 当一个网站不大,只需要四五台机器就可以支撑的时候,可以采用手工的方式虚拟机,但是当网站流量很高,需要成千上万台机器的时候,那就非常不方便了. ...

  6. linux下网卡bonding配置

    linux下网卡bonding配置   章节 bonding技术 centos7配置bonding centos6配置bonding 一.bonding技术 bonding(绑定)是一种linux系统 ...

  7. 微信小程序的文件结构 —— 微信小程序教程系列(1)

    所有文章均是CSDN博客所看,已按照作者要求,注明出处了,感谢作者的整理! 博客文章地址:http://blog.csdn.net/michael_ouyang/article/details/548 ...

  8. JavaEE应用基础平台 AOS-V0.1 RELEASED

    写在最前面 AOS是一个有着悠久历史传承和发扬的平台.她的前世G4Studio自2010年公布V1.0版本号以来,先后经过多次版本号更新.并得到了一些小伙伴的认可和使用.但我们希望做得更好,走得更远. ...

  9. 【BZOJ2422】Times 树状数组

    [BZOJ2422]Times Description 小y作为一名资深的dotaer,对视野的控制有着深刻的研究.每个单位在一段特定的时间内会出现在小y的视野内,除此之外的时间都在小y看不到的地方. ...

  10. EasyNVR无插件直播服务器软件使用详情功能-通道配置Excel

    背景需求 使用EasyNVR的用户都有知道,由于EasyNVR是将设备与EasyNVR的通道进行绑定的,因此EasyNVR是通过手动的通道配置来进行设备接入的,这样可以做到将设备的和通道对应的接入.但 ...