1 命令功能

sed是一个相当强大的文件处理编辑工具,sed用来替换,删除,更新文件中的内容。sed以文本行为单位进行处理,一次处理一行内容。首先sed吧当前处理的行存储在临时的缓冲区中(称为模式空间pattern space),接着处理缓冲区中的行,处理完成后,吧缓冲区的内容输出到屏幕。sed处理完一行就将其从临时缓冲区删除,然后将下一个行读入,进行处理和显示,这样不断重复直至处理完最后一行内容,sed便结束运行

2 命令语法

sed 【选项与参数-nefri】 '【命令】' 【文件名】

3 选项与参数

-n   使用安静(silent)模式,无-n选项则所有来自标准输入的数据和sed查询到的结果一般都会被列出到终端上,而加上-n后,则只将经过sed处理的结果列出。

-e   进行多项编辑,即对输入行应用多条sed命令时使用,直接在命令模式上进行sed的动作编辑

-f   指定sed命令执行的脚本名,直接将sed【命令】写入到文件中,通过-f参数来指定执行。

-r   指定扩展正则表达式,(不使用-r选项。默认为基本正则表达式)

-i   直接修改文件,不在终端中输出结果

4 命令参数

n1,n2   表示行号,该参数可选,表示操作的行数,可以是数字,正则表达式或者二者结合。用逗号分隔表示n1-n2行的范围

a   新增,表示在当前行的下一行追加一行文本内容。a 的后面可以接字串,而这些字串会在下一行出现

i    插入,表示在当前行的上一行插入一行文本内容。i 的后面可以接字串,而这些字串会在上一行出现

c   替换,以行为单位进行替换,c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行

d   删除,因为是删除,所以d后面通常不接任何内容

p   打印,打印行的内容,通常p会与参数-n一起使用

s   替换,替换行中的内容,通常s命令搭配正则表达式使用,如1,20s/linux/linux1/g,如果不跟g,则在行中替换第一个匹配的模式后终止,不在向行后查找,g表示整行查找

=  打印行号

5 使用范例

【1】打印文件中第n行的内容

【2】删除包含字符到包含字符的行之间的行

【3】删除包含字符到第n行的内容

【4】使用模式进行查询

【5】追加一行或多行字符串

注:使用\n来进行换行,使得在一行后追加多条内容

【6】代替一行或多行

【7】代替一行或多行

【8】替换行中的内容

作者:linux每天一小步

出处:http://www.cnblogs.com/westoslinux

如果你真心觉得文章写得不错,而且对你有所帮助,不妨帮忙“推荐"一下,您的“推荐”将是我最大的写作动力!

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接!

linux每天一小步---sed命令详解的更多相关文章

  1. linux每天一小步---ls命令详解

    1 命令功能: 列出当前目录下或者指定目录下的所有文件和目录,ls是list的缩写. 2 命令语法: ls [选项] [目录名]     #注:[]中的内容为非必选项 3 命令选项: -a 列出目录下 ...

  2. linux每天一小步---awk命令详解

    1 命令功能 awk是linux环境下的一个强大的文本工具,由于awk天生提供对文件中文本分列进行处理,所以如果一个文件中的每行都被特定的分隔符(默认为空格)隔开,我们就可以将这个文件看成是有很多列的 ...

  3. linux每天一小步---grep命令详解

    1 命令功能 grep(global regular expression print全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. g ...

  4. linux每天一小步---xargs命令详解

    1 命令功能 xargs用来从标准输入中执行命令行 xargs命令用来将一些不支持管道传递参数的命令而使之支持 2 命令语法 xargs  [选项参数] commands 3 命令参数 -O 当标准输 ...

  5. linux每天一小步---find命令详解

    1 命令功能 find命令用于搜索指定目录下的文件,并配合参数做出相应的处理. 2 命令语法      find  搜索路径pathname 选项option [-exec -ok -print  执 ...

  6. linux每天一小步---tail命令详解

    1 命令功能 tail命令用于显示文件中末尾的内容(默认显示最后10行内容) 2 命令语法 tail [选项参数] [文件名1] [文件名2] 3 命令参数 -f  用于循环读取文件的内容,监视文件的 ...

  7. linux每天一小步---head命令详解

    1 命令功能      head命令用来查看文件的前多少行或多少字节的内容(默认显示10行) 2 命令语法 head  [选项参数]  [文件名] 3 命令参数 -q  显示多个文件的内容时不显示文件 ...

  8. linux每天一小步---alias命令详解

    1 命令功能     alias命令用来设置指令的别名,alias命令设置的别名只限于该次登陆操作,若要每次登入即自动设好别名,可在/etc/profile或自己的~/.bashrc中设定指令的别名. ...

  9. linux每天一小步---cat命令详解

    1 命令功能 cat命令是linux系统下的一个文本输出命令,通常用于查看文件的内容. 2 命令语法 cat  [选项参数]  文件名 3 命令参数 -n  由1开始对所有输出的内容行数编号 -b   ...

随机推荐

  1. HBase,region以及HFile概念

    什么是HBase的Region? 大家一定对一个词不陌生:域分区,这个域就是Region:Region定义为key的一个取值范围的子集的数据载体:比如常见的域分区有固定大小分区,比如1-10一个reg ...

  2. 将DHT11移植到Linux系统上(转)

    由于项目需要,需要将DHT11移植到Linux.驱动程序如下 #include <linux/kernel.h> #include <linux/module.h> #incl ...

  3. Linux下Moodle平台的快速安装方案

    一种快速安装与配置Moodle平台的方案,基本步骤: 1.选择与安装Linux系统 2.配置网络,开启shh和网络端口 3.一键安装集成环境(使用oneinstack方案) 4.服务器配置,端口和PH ...

  4. Java 理解泛型的基本含义

    Java 泛型 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型. 泛型的本质是参数化类型,也就是说所 ...

  5. Autofac框架详解

    一.组件 创建出来的对象需要从组件中来获取,组件的创建有如下4种(延续第一篇的Demo,仅仅变动所贴出的代码)方式: 1.类型创建RegisterType AutoFac能够通过反射检查一个类型,选择 ...

  6. Spring batch学习 (1)

    Spring Batch 批处理框架 埃森哲和Spring Source研发 主要解决批处理数据的问题,包含并行处理,事务处理机制等.具有健壮性 可扩展,和自带的监控功能,并且支持断点和重发.让程序员 ...

  7. Java 8 新特新 工具类 ZonedDateTime

    类ZonedDateTime java.lang.Object继承 java.time.ZonedDateTime 所有实现的接口: Serializable,Comparable < Chro ...

  8. Delphi Firemonkey Button ImageList

    Delphi Firemonkey Button ImageList 按钮图标 在上面 界面上,选择Button,放个ImageList控件,添加图标到ImageList. 然后关联Button和Im ...

  9. 有单例模式 Singleton 涉及的一些防止类被继承的东西

    c#中 : ------------------------------- 当对一个类应用 sealed 修饰符时,此修饰符会阻止其他类从该类继承. java中: ------------------ ...

  10. 编译参数中-pthread以及-lpthread的区别

    一般情况下,我们在链接一个(文件名为libxxx.so或libxxx.a等的)库时,会使用-lxxx的方式:在Linux中要用到多线程时,需要链接pthread库,按照惯例,我们应该使用-lpthre ...