sed命令 (stream editor)

       SED (stream editor)是一项Linux指令,功能同awk类似,差别在于,sed简单,对列处理的功能要差一些,awk的功能复杂,对列处理的功能比较强大。


sed选项部分

-i: 直接修改读取的档案内容,而不仅仅是输出

-n: 取消默认输出,只打印处理的内容

-f: 直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作

-e: 直接在指令列模式上进行 sed 的动作编辑

-r: sed 的动作支援的是延伸型正规表示法的语法

sed命令部分

a: 新增 ‘1a test001’第一行后增加‘1,3a test001’第一行到第三行后增加

c: 取代 ‘1c test001’第一行取代为 test001 ‘1,3c test001’第一行到第三行取代为test001

/d: 删除 ‘/test001/d’ 删除 test001

/p: 打印 ‘/test001/p’ 一般与 sed -n ‘/test001/p’ 一起使用

s/: 修改 ‘s/test001/test002/g’ test.txt ->’s/要替换的内容/新的内容/g’

sed例子:

显示行:

# sed -n ‘1p’ test.txt    //只显示第一行

# sed -n ‘$p’ test.txt    //只显示最后一行

# sed -n ‘1,2p’ test.txt  //显示第一行到第二行

# sed -n ‘2,$’ test.txt   //显示第二行到最后一行

删除行:

# sed ‘1d’ test.txt      //只删除第一行

# sed ‘$d’ test.txt      //只删除最后一行

# sed ‘1,2d’ test.txt    //删除第一行到第二行

# sed ‘2,$’ test.txt     //删除第二行到最后一行

# sed ‘/test003/d‘ test.txt //删除test003所在行

模糊查询:

# sed -n ‘/test001/p’ test.txt   //查询test001关键字所在的所有行

增加行:

# sed -i ‘1a test002’ test.txt          //第一行后增加test002

# sed -i ‘1,3a test002 test.txt         //第一行到第三行后面添加test002

# sed -i ‘1a test003\ntest004’ test.txt   //第一行后面添加多行

# sed -i ‘1,$a test0010’ test.txt       // 第一行到最后一行添加test0010

替代行:

#sed -i ‘1c test002’ test.txt          //第一行替代为 test002

#sed -i ‘1,3c test002’ test.txt        //第一到第三行替代为 test002

#sed -i ‘1,$c test002’ test.txt        // 第一行到最后一行替代为 test002

修改内容:

#sed -i ‘s/test001/test002/g’ test.txt   // test002 修改为 test001

时间: 2024-10-08 10:17:34

sed命令 (stream editor)的相关文章

sed命令

文本处理三剑客: grep, egrep, fgrep:文本过滤器 sed:Stream EDitor,流编辑器,行     pattem space:模式空间.(基础)     hold space:保持空间 awk:文本格式化工具,报告生成器 语法 sed [OPTION]...  'script'  [input-file] ... script:     地址定界编辑命令         :%s/ 常用选项: -n:不输出模式空间中的内容至屏幕: -e script, --express

Linux三剑客之sed命令

选定行的范围:,(逗号) 删除操作:d命令 显示模式空间内容 追加(行下):a\命令 插入(行上):i\命令 退出:q命令 多点编辑:e命令 从文件读入:r命令 写入文件:w命令 替换操作:s命令 替换文本中的字符串: 全面替换标记g 保持和获取:h命令和G命令 保持和互换:h命令和x命令 sed 简介 sed 工作原理 命令格式 常用选项: 地址定界: 编辑命令: 替换标记: sed元字符集(正则表达式) 高级编辑命令: sed用法实例 作业: 作业: sed命令 sed 简介 Stream

第4章 sed命令

1 sed命令基本用法 sed(stream editor)是流编辑器,可对文本文件和标准输入进行编辑: sed只是对缓冲区中原始文件的副本进行编辑,并不编辑原始的文件,如果需要保存改动内容,可以选择使用下面两种方法: 重定向.w编辑命令. 2 调用sed有三种方法 在Shell命令行输入命令调用sed,格式为: sed [选项] ‘sed命令’ 输入文件 将sed命令插入脚本文件后,然后通过sed命令调用它,格式为: sed [选项] -f sed脚本文件输入文件 将sed命令插入脚本文件后,

Linux下的sed命令使用详解

sed是stream editor的简称,也就是流编辑器.它一次处理一行内容,处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”pattern space,接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.文件内容并没有 改变,除非你使用重定向存储输出. 使用语法sed命令的使用规则是这样的: sed [option] 'command' input_file 其中option是可选的,常用的option有如下几种: -n

shell脚本学习笔记之sed命令用法

sed基本用法 sed:stream editor 行编辑器 sed:模式空间 将匹配的文本内容储存到模式空间中 默认不编辑原文件,仅对模式空间中的数据做处理,而后,处理结束后,架构模式空间的内容显示 sed -n -i:直接修改原文件 -e script -e script:可以同时执行多个脚本 -f file sed -f /scripts  file -r:表示使用扩展正则表达式 sed 'adresscommand' file... -n:静默模式,不再默认显示模式空间中的内容,即只显示

linux学习之路之sed命令使用

本章主要介绍sed的命令使用 sed(Stream Editor)是一种流编辑器,或者叫做行编辑器,以行为单位进行编辑处理,而后续会介绍的vi编辑器是一种全屏编辑器. sed的工作原理: 逐行读取文件中的每一行,并将其放在内存空间中,在对内存空间中的数据进行处理,将处理后的结果打印到屏幕上.而这种内存空间也叫做模式空间. 所谓模式空间:就是将放在内存空间的数据根据模式来匹配,匹配成功的数据进行相应的编辑处理,将处理后的数据打印到屏幕上去. 说明:sed命令默认将文件中所有的行打印到屏幕上去. s

高效而轻松的sed命令

sed(stream editor)是一款高效的流编辑器,它一次只处理一行内容,处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后把缓冲区的内容送往屏幕,接着处理下一行,这样不断重复,直到文件末尾.sed处理过的文件内容并没有改变,除非你使用重定向存储输出. sed命令的使用规则 命令格式如下: sed [option] 'command' input_file 其中option是可选的,常用的option有如

linux基础之sed命令

Sed 流 编 辑 器 1.sed的基本用法: sed  [OPTION]...  'script' input-file... 2.sed:Stream   Editor  文本编辑器 行编辑器(全屏编辑器:vi) 3.sed:模式空间 默认不编辑源文件,仅对模式空间中的数据做处理,而后,处理结束后,讲模式空间打印至屏幕 1>.常用选项: -n  : 静默模式,不再默认显示模式空间的内容: -i   : 直接修改源文件: -e  : script   -escript    可以同时执行多个脚

2016-3-8 linux基础学习——sed命令

sed(Stream EDitor)行编辑器(全屏编辑器:vi)        sed:显示模式空间    默认不编辑文件,仅对模式空间中的数据做处理    而后,处理结束后,将模式显示在屏幕上        sed -n 'AddressCommand' file ...        单/双引号都可以,双引号可实现变量替换        -n:静默模式 不再默认显示模式空间中的内容        -i:直接修改源文件        -e SCRIPT -e SCRIPT:可以同时执行多个脚本