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. tornado 初学

    tornado第一个例子 import tornado.ioloopimport tornado.web class MainHandler(tornado.web.RequestHandler): ...

  2. eventfd

    #include <sys/eventfd.h> int eventfd(unsigned int initval, int flags); eventfd() creates an &q ...

  3. Win8运行金山词霸2005的问题

    一般是以下几种状况: 1.运行进入假死 2.取词模块报错 3.词库突然丢失 原因: 文件权限和注册表权限问题 解决方法: 进入"..\Kingsoft\PowerWord 2005\&quo ...

  4. secureCrt 开启Linux上的oracle服务

    IP   :  192.168.0.21 user:  root pwd:     123456 --------------------------------------------------- ...

  5. RS-232针脚(8 pin)

    1 CD Carrier Detect 载波检测 2 RXD Receive Data 接收 3 TXD Transmit Data 发送 4 DTR Data Terminal Ready      ...

  6. mac 编译ffmpeg真简单!

    brew info ffmpeg 有安装选项,并且会提示依赖库安装状态 安装依赖库 brew install automake fdk-aac git lame libass libtool libv ...

  7. selenium实现在新窗口打开链接

    问题:页面代码中不存在target="_blank",怎么实现点击一个按钮,在新窗口中打开? WebElement link = element.findElement(By.ta ...

  8. saltstack之定时管理

    1.设置定时任务 /srv/salt/cron/ntpdate.sls /usr/sbin/ntpdate 10.31.10.3; /sbin/hwclock -w: cron.present: - ...

  9. C语言基础知识【程序结构】

    C 程序结构1.C 程序主要包括以下部分:预处理器指令函数变量语句 & 表达式注释2.#include <stdio.h> int main(){   /* 我的第一个 C 程序 ...

  10. Js遍历对象中的属性

    var obj = {"name": "xiaol","age":"18"} for(var attr in obj){ ...