sed(Stream Editor):流编辑器

一次只读取一行

模式空间

1、sed语法:

sed [option] "script" FILE...

2、选项:

-n:静默模式,不输出模式空间中的内容

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

-f:/path/to/sed_script_file:指定sed脚本文件

-e 'script' -e 'script' :指定多个编辑脚本

-i:直接修改读取的文件内容,而不是输出到终端

3、编辑命令:

d:删除

p:打印

i \text:匹配内容上面增加text内容

a \text:匹配内容西面增加text内容

r /path/to/somefile:在制定位置把另外一个文件的内容插入进来

w /path/to/somefile:将符合条件的所有行保存至指定得文件中

= :显示符合条件行的行号

例如:# sed -n '/^UUID/=' /etc/fstab

s///:查找条件可以使用模式,但要替换的内容不行

4、地址定界:

startline,endline:1,3

/pat1/,/pat2/

/pattern/

用法:

sed [options] 'addr1[,addr2]编辑命令' FILE ...

sed [options] "addr1[,addr2]编辑命令" FILE ...

5、正则表达式:

基本的:

字符:

.

[]

[^]

次数:

*

\?

\{m,n\}

锚定:

^

$

\<,\b

\>,\b

分组:

\(\)

引用:

\1,\2,...

扩展:

字符:

.

[]

[[:lower:]],[[:punct:]],[[:alnum:]]

次数:

*

+

{m,n}

锚定:

^

$

\>,\b

\<,\b

或:

a|b

分组:

()

引用:

\1,\2,...

sed '地址定界s@查找条件@替换文本@'

6、修饰符:

g:global,全局替换

i:ignore-case,不区分字符大小写

7、例子:

1、将selinux的enforcing改成disabled

# sed 's@^SELINUX=enforcing@SELINUX=disabled@g' /etc/selinux/config

2、删除/etc/init.d/functions文件中的空白行

# sed '/^$/d' /etc/init.d/functions

3、删除/etc/inittab文件中位于行首的#号

# sed 's@^#@@g' /etc/inittab

4、删除/etc/rc.d/rc.sysinit文件夹中以#后跟至少一个空白字符开头的行的行首的#和空白字符

# sed 's@^#[[:space:]]\{1,\}@@g' /etc/rc.d/rc.sysinit

5、删除/boot/grub/grub.conf文件中行首的空白字符

# sed 's@^[[:space:]]\{1,\}@@' /boot/grub/grub.conf

6、取出一个文件路径的目录名称

# echo /etc/sysconfig/network/ | sed 's@[^/]\{1,\}/\?$@@'

sed命令的基本使用的更多相关文章

  1. 文本处理三剑客之sed命令

    第十八章.文本处理三剑客之sed命令 目录 sed介绍 sed命令常用选项 sed常用编辑命令 sed使用示例 sed高级语法 18.1.sed简介 sed全名stream editor,流编辑器,s ...

  2. linux shell 用sed命令在文本的行尾或行首添加字符

    转自 http://www.cnblogs.com/aaronwxb/archive/2011/08/19/2145364.html 昨天写一个脚本花了一天的2/3的时间,而且大部分时间都耗在了sed ...

  3. linux sed命令详解

    简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的 ...

  4. sed命令详解

    搜索 纠正错误  添加实例 sed 功能强大的流式文本编辑器 补充说明 sed 是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响.处理时,把当前处理的行存储在临时 ...

  5. Linux安全基础:sed命令的使用

    sed 是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作. Sed本质上是一个编辑器,但是它是非交互式的,这点与VIM不同:同时 ...

  6. [转]sed命令详解

    转载:http://blog.chinaunix.net/u/22677/showart_1076318.html   1.简介 sed是非交互式的编辑器.它不会修改文件,除非使用shell重定向来保 ...

  7. sed命令

    sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为:         sed ...

  8. sed 命令使用

    ios 的sed 命令 跟linux  sed 命令有区别 # 所有的a 替换成b sed -i "" 's/a/b/g' #删除掉所有包含a的行 sed -i "/a/ ...

  9. sed命令给文本文件的每行的行首或者行尾添加文字

    在每行的头添加字符,比如"HEAD",命令如下: sed 's/^/HEAD&/g' test.file 在每行的行尾添加字符,比如“TAIL”,命令如下: sed 's/ ...

  10. Linux的sed命令

    一.初识sed 在部署openstack的过程中,会接触到大量的sed命令,比如 # Bind MySQL service to all network interfaces.sed -i 's/12 ...

随机推荐

  1. 《BI那点儿事》数据流转换——聚合

    聚合转换可以像T-SQL中的函数GROUP BY, Average, Minimum, Maximum, 和 Count一样对数据进行聚合运算.在图中可以看到数据以SampleID分组,对TotalS ...

  2. 如何让linux定时任务crontab按秒执行

    如何让linux定时任务crontab按秒执行? linux定时任务crontab最小执行时间单位为分钟如果想以秒为单位执行,应该如何设置呢?思路 正常情况是在crontab中直接定义要执行的任务,现 ...

  3. Listview 隐藏item

    隐藏某一项item(防止list改变后导致复用convertview而错乱--如果删掉list中的该项,会导致复用convertview混乱) 方法: convertView.setVisibilit ...

  4. 手机号 和 email 的正则匹配

    手机号   /^1[3|4|5|8] \d{9}$/ email  /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/

  5. jquery的colorbox关闭并传递数据到父窗

    function closebox(para1, para2) { var k = parent;// 父窗口对象 k.document.getElementById("para1" ...

  6. PDF解析

    解析如下图PDF文件 using System; using System.Collections.Generic; using System.Linq; using System.Text; usi ...

  7. 不错的TOMCAT监控好工具probe

    Tomcat版本:6.0.41 Probe版本:2.3.3 一,Tomcat没有默认用户账号,故首先需要添加Tomcat用户账号 修改$CATALINA_HOME/conf/tomcat-users. ...

  8. HTC A510C电信手机刷机过程

    HTC A510C电信手机刷机过程记录 Writed by Peter Hu(2014.6.7) ON WIN7_64 刷机需要的步骤: 1)  将S-ON加密保护式去掉,改成S-OFF模式,这样才能 ...

  9. RHCE 系列(二):如何进行包过滤、网络地址转换和设置内核运行时参数

    正如第一部分(“设置静态网络路由”)提到的,在这篇文章(RHCE 系列第二部分),我们首先介绍红帽企业版 Linux 7(RHEL)中包过滤和网络地址转换(NAT)的原理,然后再介绍在某些条件发生变化 ...

  10. Android Activity的onSaveInstanceState() 和 onRestoreInstanceState()方法:

    Android Activity的onSaveInstanceState() 和 onRestoreInstanceState()方法: 1. 基本作用: Activity的 onSaveInstan ...