1 sed命令基本用法

sed(stream editor)是流编辑器,可对文本文件和标准输入进行编辑;

sed只是对缓冲区中原始文件的副本进行编辑,并不编辑原始的文件,如果需要保存改动内容,可以选择使用下面两种方法:

重定向、w编辑命令。

2 调用sed有三种方法

  • 在Shell命令行输入命令调用sed,格式为:

sed [选项] ‘sed命令’ 输入文件

  • 将sed命令插入脚本文件后,然后通过sed命令调用它,格式为:

sed [选项] -f sed脚本文件输入文件

  • 将sed命令插入脚本文件后,最常用的方法是设置该脚本文件为可执行,然后直接执行该脚本文件,格式为:

./sed脚本文件输入文件

注:第二种方法脚本文件的首行不以#!/bin/sed –f开头;第三种方法脚本文件的首行是#!/bin/sed –f

3 sed命令选项

选项

意义

-n

不打印所有行到标准输出

-e

表示将下一个字符串解析为sed编辑命令,如果只传递一个编辑命令给sed,-e选项可以省略

-f

表示正在调用sed脚本文件

4 sed文本定位

选项

意义

x

x为指定行号

x,y

指定从x到y的行号范围

/pattern/

查询包含模式的行

/pattern/pattern/

查询包含两个模式的行

/pattern/,x

从与pattern的匹配行到x号行之间的行

x,/pattern/

从x号行到与pattern的匹配行之间的行

x,y!

查询不包括x和y行号的行

5 sed编辑命令

选项

意义

p

打印匹配行

=

打印文件行号

a\

在定位行号之后追加文本信息

i\

在定位行号之前插入文本信息

d

删除定位行

c\

用新文本替换定位文本

s

使用替换模式替换相应模式

r

从另一个文件中读文本

w

将文本写入到一个文件

y

变换字符

q

第一个模式匹配完成后退出

l

显示与八进制ASCII代码等价的控制字符

{}

在定位行执行的命令组

n

读取下一个输入行,用下一个命令处理新的行

h

将模式缓冲区文本拷贝到保持缓冲区

H

将模式缓冲区文本追加到保持缓冲区

x

互换模式缓冲区和保持缓冲区内容

g

将保持缓冲区内容拷贝到模式缓冲区

G

将保持缓冲区内容追加到模式缓冲区

6 示例

6.1 选项示例

只打印第一行

打印包含close关键字的行

调用sed脚本

  • 原始文件

  • 脚本内容

  • 执行结果

6.2 文本定位

sed -n '$p' input #匹配最后一行

sed -n '/close/,$p' input #打印与close匹配到最后一行

第4章 sed命令的更多相关文章

  1. sed命令详解 vim高级技巧 shell编程上

    第1章 sed命令详解 1.1 查找固定的某一行 1.1.1 awk命令方法 [root@znix ~]# awk '!/oldboy/' person.txt 102,zhangyao,CTO 10 ...

  2. linux的sed命令(一)

    转自:https://www.cnblogs.com/ginvip/p/6376049.html Sed 简介 sed 是一种新型的,非交互式的编辑器.它能执行与编辑器 vi 和 ex 相同的编辑任务 ...

  3. linux命令总结sed命令详解

    Sed 简介 sed 是一种新型的,非交互式的编辑器.它能执行与编辑器 vi 和 ex 相同的编辑任务.sed 编辑器没有提供交互式使用方式,使用者只能在命令行输入编辑命令.指定文件名,然后在屏幕上查 ...

  4. 【Linux 命令】sed 命令

    文章转载自:https://www.jianshu.com/p/779f40985b20 文本分隔:------ # 在每一行后面增加一空行. sed G # 在每一行后面增加两行空行. sed &q ...

  5. Linux Shell编程第4章——sed和awk

    目录 sed命令基本用法 sed命令实例 命令选项 文本定位 编辑命令 awk编程模型 awk编程实例 1.awk模式匹配 2.记录和域 3.关系和布尔运算符 4.表达式 5.系统变量 6.格式化输出 ...

  6. linux---(6/27)tr命令和sed命令详解

    Tr命令: tr是简单的单个“字符”处理工具,而sed是功能非常强大的“字符串”处理工具. 用于查询,字符串2用于处理各种转换.tr刚执行时,字符串1中的字符被映射到字符串2中的字符,然后转换操作开始 ...

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

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

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

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

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

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

随机推荐

  1. Nginx实现内参:为什么架构很重要?

    Nginx在web开发者眼中就是高并发高性能的代名词,其基于事件的架构也被众多开发者效仿.我从Nginx的网站找到一篇技术文章将Nginx是怎样实现的,文章是Nginx的产品老大Owen Garret ...

  2. linux下查看系统进程占用的句柄数

    ---查看系统默认的最大文件句柄数,系统默认是1024 # ulimit -n 1024 ----查看当前进程打开了多少句柄数 # lsof -n|awk '{print $2}'|sort|uniq ...

  3. 技巧分享——如何去除多余的CSS代码?

    有时候,当你的CSS代码过多的时候,而且已经明确知道有部分CSS代码是多余的: 这时候,有什么较快的办法可以去除多余的CSS呢?? 下面分享一个实用技巧: 1.使用谷歌浏览器:Chrome .下载 2 ...

  4. .Net下实现可扩展的编程方法简述

    IoC控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则用来解决系统耦合问题. 控制反转还有一个名字叫做依赖注入(DI:Dependency Inje ...

  5. SOA_环境安装系列2_Oracle RCU安装和环境搭建(案例)

    2015-01-02 Created By BaoXinjian

  6. RAC_Oracle集群服务安装Grid Infrastructure(案例)

    2015-01-24 Created By BaoXinjian Thanks and Regards

  7. Win8下修改任務欄的資源管理器默認打開位置

    不能像win7一樣右鍵屬性改了,但還是有辦法的. 新建一個文件夾,建立快捷方式,右鍵快捷方式,將目標改為%windir%\explorer.exe /n,/e,D:\Desktop 然後將該快捷方式拖 ...

  8. error-iis-Service Unavailable

    Service Unavailable Service Unavailable HTTP Error 503. The service is unavailable.

  9. http://www.imooc.com/video/4767 zepto教学视频笔记

    一.介绍js移动端框架:zepto.js与jquery mobile 对比:zepto特点 1.与jquery相似度95%,会jquery基本会zepto: 2.API少,轻量级框架 3.移动端无缝接 ...

  10. [原创博文] 用Python做统计分析 (Scipy.stats的文档)

    [转自] 用Python做统计分析 (Scipy.stats的文档) 对scipy.stats的详细介绍: 这个文档说了以下内容,对python如何做统计分析感兴趣的人可以看看,毕竟Python的库也 ...