`
足至迹留
  • 浏览: 486237 次
  • 性别: Icon_minigender_1
  • 来自: OnePiece
社区版块
存档分类
最新评论

<linux-sed> sed基本用法

阅读更多
1.简介
sed全称是Stream Editor,是非交互式的编辑器。它不会修改原文件,除非使用shell重定向来保存结果, 或者可以指定-i选项来在线修改文件,这样就会改变原文件,升级脚本通常用-i选项。默认情况下,所有的输出行都被打印到屏幕上。sed 本身也是一个管线命令,可以分析 standard input 。

sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。具体过程如下:
(1)首先sed把当前正在处理的行保存在一个临时缓存区中(也称为模式空间),(2)然后处理临时缓冲区中的行,(3)完成后把该行发送到屏幕上。
sed每处理完一行就将其从临时缓冲区删除,然后将下一行读入,进行处理和显示。处理完输入文件的最后一行后,sed便结束运行。sed把每一行都存在临时缓冲区中,对这个副本进行编辑,所以不会修改原文件。

2. 定址
在使用sed的过程中,我们经常会听到“定址”,那么什么是“定址”呢?
定址用于决定对哪些行进行编辑。地址的形式可以是数字、正则表达式、或二者的结合。如果没有指定地址,sed将处理输入文件的所有行。
比如:
1)地址是一个数字则表示行号;是“$"符号,则表示最后一行。
sed -n '3p' datafile   #只打印第三行  


2)只显示指定行范围的文件内容
sed -n '100,200p' mysql_slow_query.log  # 只查看文件的第100行到第200行
 

3)地址是逗号分隔的,那么需要处理的地址是这两行之间的范围(包括这两行在内)。范围可以用数字、正则表达式、或二者的组合表示。
•  sed '2,5d' datafile  #删除第二到第五行 
•   
•  sed '/My/,/You/d' datafile  #删除包含"My"的行到包含"You"的行之间的行 
•   
•  sed '/My/,10d' datafile  #删除包含"My"的行到第十行的内容

3. sed命令与选项
调用sed命令有两种形式:
sed [options] 'command' file(s)
sed [options] -f scriptfile file(s)

对于第一种形式,具体调用一般是:
sed [选项][定址[命令]] file(s)

命令和选项如下:
3.1、sed命令



3.2、sed选项


补充:
在sed的命令行中引用shell变量时要使用双引号,而不是通常所用的单引号。这根grep一样,双引号会获取变量的值,而单引号只会把变量当做普通字面字符。

更多可以参考:
http://www.cnblogs.com/edwardlost/archive/2010/09/17/1829145.html
http://blog.csdn.net/engledb/article/details/19623087
http://www.iteye.com/topic/587673
http://www.cnblogs.com/edwardlost/archive/2010/09/17/1829145.html
《鸟哥的linux私房菜 基础篇》第12章
  • 大小: 41.9 KB
  • 大小: 92.6 KB
  • 大小: 264 KB
0
0
分享到:
评论

相关推荐

    LINUX与UNIX_SHELL编程指南2

    176&lt;br&gt;&lt;br&gt;18.4.3 提示键入y或n 177&lt;br&gt;&lt;br&gt;18.4.4 case与命令参数传递 ...使用for循环备份文件 183&lt;br&gt;&lt;br&gt;18.5.7 多文件转换 183&lt;br&gt;&lt;br&gt;18.5.8 多sed删除操作 184&lt;br&gt;&lt;br&gt;18.5.9 循环计数 184&lt;br&gt;&lt;br&gt;18.5.10 for...

    Linux宝库 - sed用法

    将介绍执行命令列上的编辑指令 、sed 编辑指令、执行档案内的编辑指令、执行多个档案的编辑、及 执行 sed 输出控制。

    LINUX与UNIX SHELL编程指南

    sed 用法介绍 89&lt;br&gt;10.1 sed怎样读取数据 89&lt;br&gt;10.2 调用sed 89&lt;br&gt;10.2.1 保存sed输出 90&lt;br&gt;10.2.2 使用sed在文件中查询文本的方式 90&lt;br&gt;10.2.3 基本sed编辑命令 90&lt;br&gt;10.3 sed和正则表达式 91&lt;br&gt;10.4 基本...

    Linux-02sed.ppt

    什么是sed:主要介绍什么是sed工具,sed工具的主要操作、工作方式以及地址表示方法,在sed命令中使用正则表达式等。 sed命令的常用操作:主要介绍sed命令的注释方法,打印文本,替换文本,删除文本,追加文本,插入...

    Linux Shell编程3/3

    _grep家族&lt;br&gt;|_awk介绍&lt;br&gt;|_sed用法介绍&lt;br&gt;|_合并与分割&lt;br&gt;|_tr用法&lt;br&gt;第三部分登录环境&lt;br&gt;|_登录环境&lt;br&gt;|_环境和shell变量&lt;br&gt;|_引号&lt;br&gt;第四部分基础shell编程&lt;br&gt;|_shell脚本介绍&lt;br&gt;|_条件测试&lt;br&gt;|_控制...

    Linux Shell编程1/3

    _grep家族&lt;br&gt;|_awk介绍&lt;br&gt;|_sed用法介绍&lt;br&gt;|_合并与分割&lt;br&gt;|_tr用法&lt;br&gt;第三部分登录环境&lt;br&gt;|_登录环境&lt;br&gt;|_环境和shell变量&lt;br&gt;|_引号&lt;br&gt;第四部分基础shell编程&lt;br&gt;|_shell脚本介绍&lt;br&gt;|_条件测试&lt;br&gt;|_控制...

    Linux Shell编程2/3

    _grep家族&lt;br&gt;|_awk介绍&lt;br&gt;|_sed用法介绍&lt;br&gt;|_合并与分割&lt;br&gt;|_tr用法&lt;br&gt;第三部分登录环境&lt;br&gt;|_登录环境&lt;br&gt;|_环境和shell变量&lt;br&gt;|_引号&lt;br&gt;第四部分基础shell编程&lt;br&gt;|_shell脚本介绍&lt;br&gt;|_条件测试&lt;br&gt;|_控制...

    LINUX与UNIX_SHELL编程指南1

    sed 用法介绍 89&lt;br&gt;10.1 sed怎样读取数据 89&lt;br&gt;10.2 调用sed 89&lt;br&gt;10.2.1 保存sed输出 90&lt;br&gt;10.2.2 使用sed在文件中查询文本的方式 90&lt;br&gt;10.2.3 基本sed编辑命令 90&lt;br&gt;10.3 sed和正则表达式 91&lt;br&gt;10.4 基本...

    linux shell命令sed的使用方法

    linux shell命令sed的使用方法

    linux 系统 sed 命令使用方法

    linux 系统 sed 命令使用方法linux 系统 sed 命令使用方法linux 系统 linux 系统 sed 命令使用方法linux 系统 sed 命令使用方法sed 命令使用方法

    Linux Shell脚本编程--sed命令详解.zip_shell sed_命令介绍_脚本 shell

    shell编程中经常用到sed命令,本文详细介绍了shell常用命令sed详细用法

    sed 用法sed 用法sed 用法

    sed 用法sed 用法sed 用法sed 用法sed 用法

    Linux下sed命令的用法

    文章主要介绍Linux下sed命令的用法,感兴趣的朋友可以看看。

    LINUX 20招

    ls -l * |grep "^-"|wc -l ---- to count files&lt;br&gt;# ls -l * |grep "^d"|wc -l ----- to count dir&lt;br&gt;还可以将以上的语句变成script或做个alias&lt;br&gt;&lt;br&gt;&lt;br&gt;2.显示文件的类型&lt;br&gt;用命令file可以使你知道某个文件...

    linux中sed的用法.html

    主要介绍一下linux中sed的用法;和上一个awk设计得一样;

    linux sed 常用用法举例01

    NULL 博文链接:https://hw1287789687.iteye.com/blog/1727749

    LINUX的awk和sed的常用用法

    LINUX的awk和sed的常用用法 LINUX的awk和sed的常用用法

    linux sed 用法详细说明

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

    Linux三剑客之【sed】.pdf

    Linux三剑客之sed命令:自己在平时的使用过程中总结积累的sed命令的若干种常用用法,特分享出来。 参数: -i 表示inplace edit,就地修改文件 -r 表示搜索子目录 -l 表示输出匹配的文件名 s 表示替换,d 表示删除...

    linux之sed命令的用法

    在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。-e∶直接在指令列模式上进行 sed 的动作编辑;-f∶直接将 sed ...

Global site tag (gtag.js) - Google Analytics