`

sed语法

 
阅读更多
sed : Stream editor ,逐行处理文本
	行编辑器sed
	全屏编辑器vi

模式空间:	默认不编辑原文件,仅对模式空间中的数据做处理;而后处理结束后将模式空间打印至屏幕
	
sed [options] 'AddressCommand' file...
	options:
	-n: 静默模式,只打印符合条件的行
Address
1、StartLine,endLine
	1,100
	$:最后一行   sed -n '$p' test.txt
	倒数第二行   tac test.txt |sed -n 2p
2、	/RegExp/
	/^root/
3、/pattern1/,/pattern2/
	第一次被模式1匹配到的行开始,至第一次被pattern2匹配到的行结束,这中间的所有行
4、LineNum	
	指定的行
5、	StartLine,+N
	从StartLine行开始,向后的N行

Command:
d:删除符合条件的行
  例:删除前2行 sed '1,2d' /etc/fstab
      删除包含oot的行 sed '/oot/d' /etc/fstab
p:显示符合条件的行
  例:显示以/开头的行 sed '/^\//p' /etc/fstab (符合条件的显示了2次,不符合的显示一次)
      显示以/开头的行 sed -n '/^\//p' /etc/fstab
a \string:在指定的行后面追加新行,内容为string
  例:在以/开头的行后面追加# hello world  sed '/^\//a \# hello world' /etc/fstab
	\n换行				sed '/^\//a \# hello world\n# hello linux' /etc/fstab
i \string:在指定的行前面追加新行,内容为string	
r filename:将指定文件的内容添加至符合条件的行处
  例:将/etc/issue文件的内容添加在第二行后面 sed '2r /etc/issue' /etc/fstab
					     sed '1,2r /etc/issue' /etc/fstab
s:替换
  例:把行内的所有jzk替换成jinzk,如果没有g,则只替换行内的第一个jzk   ==>sed 's/jzk/jinzk/g' test1.txt
	只打印发生替换的那些行                                          ==>sed -n 's/jzk/jinzk/p' test1.txt
	在所有的jzk后面添加def(&表示匹配的内容)                       ==>sed  's/jzk/&def/' test1.txt
	把所有的jzk替换成jinzk,并打印发生替换的那些行                  ==>sed  -n 's/jzk/jinzk/gp' test1.txt
	把所有的jzk替换成jinzk,跟在替换s后面的字符就是查找串和替换串之间的分割字符,本例中试#   ==>sed  's#jzk#jinzk#g' test1.txt
			
  逗号:指定行的范围
  例:打印模式jzk到jd的行                                  ==>sed -n '/jzk/,/jd/p' test1.txt
	打印从第五行到包含jd行之间的行                       ==>sed -n '5,/jd/p' test1.txt
	修改从模式jzk到模式jd之间的行,把wyq替换成wuyaqin    ==>sed -n '/jzk/,/jd/s/wyq/wuyaqin/p' test1.txt

-e:多重编辑
  例:删除1-3行,然后把其余行的abc替换成def  sed  -e ‘1,3d’ -e ‘s/abc/def/g’ test1.txt

w:写文件
  例:在包含jzk的行写入test2.txt   ==>sed '/jzk/w test2.txt' test1.txt

n:读取下一行
  例:读取包含jzk的行的下一行,替换jzk为jdddd     ==>sed  '/jzk/{n ; s/jzk/jdddd/g;}' test1.txt

		
分享到:
评论

相关推荐

    sed基础实例练习

    其中,sed是流编辑器,它是一个强大的文本处理工具,主要用来对文本进行过滤和转换。sed通过将指定的命令应用于文本流(通常是文件内容或标准输入),从而对流中的数据进行处理,并将结果输出到标准输出。 在标题...

    Sed & Awk 101 Hacks

    #### 第一章:Sed语法和基本命令 **1. Sed命令语法** Sed(Stream Editor)是一种流编辑器,用于对文本进行过滤和转换处理。其基本语法如下: ``` sed 'command' file ``` 其中`command`是Sed命令,`file`是要...

    Linux相关命令详解

    这个资源摘要信息主要介绍了 Linux 相关命令的详解,包括文本处理工具 awk、sed、grep、sort、uniq、cut、paste、join 等的语法规则、常用选项和示例应用。 awk 命令是Pattern Scanning and Processing Language,...

    windows下cmd程序sed命令所需文件

    首先,`sed`命令主要用于对文本文件进行搜索、替换、删除等操作,其语法结构通常为`sed [选项] '动作' 文件`。在Windows中,由于默认并不内置`sed`,我们需要下载并安装第三方实现,如GnuWin32或Git for Windows中的...

    shell bash资料

    - **sed语法结构图.jpg**:该图片可能包含sed命令的可视化结构,帮助理解和记忆sed的语法。 - **unix shell资料大全**:这个可能是一个包含更多Shell相关知识的集合,包括不同类型的Shell及其用法。 总之,掌握...

    Sed与Awk (中文版)

    sed和awk具有相同的命令行语法,使用脚本形式接收用户命令。它们都使用UNIX正则表达式,因此书中专门有一章介绍UNIX正则表达式的语法。 **sed脚本编写** sed脚本的编写从简单的几行命令开始,逐步介绍手工编辑操作...

    linux命令中Sed各种使用方式

    Sed 的替换命令的语法是 `s[address]s/pattern/replacement/flags`,其中 `address` 是行号或行号范围,`pattern` 是要匹配的模式,`replacement` 是要替换的字符串,`flags` 是控制选项。 例如,`sed 's/test/...

    基本的SED命令有大量的SED命令

    在深入讨论各个命令之前,我们先回顾一下SED命令的基本语法结构。SED命令通常由地址(Address)和命令(Command)两部分组成,中间可以通过逗号分隔来指定作用范围。例如: ``` [address]command ``` 这里提到的...

    Sed AWK编程指南

    #### 二、Sed 命令语法与基本命令 ##### 1. Sed 命令语法 `sed`(Stream Editor)是一种流式编辑器,主要用于过滤和转换文本。其命令格式通常为: ``` sed 'command' file ``` 其中,`command` 是具体的编辑操作...

    sed and wak 101

    #### 第一章:`sed`语法与基本命令 ##### 1. `sed`命令语法 `sed`是一种流编辑器,用于对输入流中的文本进行各种操作,如查找、替换、删除等。其基本命令语法结构如下: ``` sed 'command' inputfile ``` 其中,...

    网络安全三剑客之sed的用法+语法

    网络安全三剑客之sed的用法+语法

    sed(windows)

    ### `sed` 基本语法 `sed` 的基本命令格式如下: ```bash sed [选项] '命令' 文件 ``` 其中,`选项` 可以用来指定一些特殊行为,如 `-n` 表示不自动打印每一行;`命令` 是对文本执行的操作,可以是替换、删除、...

    SED与AWK 高清第三版

    在学习sed和awk时,了解它们的基本语法和常用命令是首要的。sed的操作主要包括插入、删除、替换、打印等,而awk则需要理解其工作模式(BEGIN、END、模式规则)、字段分隔符、内置变量和函数等概念。通过实际的案例...

    Sed与awk_中英文高清版

    2. 正则表达式:掌握Sed中的正则表达式语法,用于匹配和替换文本。 3. Sed命令:学习如何使用sed命令进行文本替换、删除、插入、追加、打印等操作。 4. Awk的基本结构:理解Awk的程序格式,包括模式-动作对,以及...

    sed and awk 101 hacks.pdf

    - **Sed命令语法**:sed是"stream editor"的缩写,它采用的是基于文本的流处理方式,通过一系列的命令行参数对文本数据进行过滤和转换。 - **Sed脚本执行流程**:sed的执行过程涉及读取输入、处理、输出三个阶段。它...

    sed and awk 101 hacks

    - Sed命令语法(SedCommandSyntax),是学习sed的第一步,需要掌握其基本格式,如:sed [选项] '命令' 输入文件。 - Sed脚本流程(SedScriptingFlow),讲解了sed处理输入文本时的步骤和逻辑。 - 打印模式空间...

    shell中的精髓_sed_awk

    ##### 2.3 正则表达式语法 - **基本元素**:字符集、元字符等。 - **元字符**:`.`(任意单个字符)、`*`(零次或多次重复前面的字符)、`+`(一次或多次重复前面的字符)等。 - **示例**:`sed 's/\.[a-z]/./g' ...

Global site tag (gtag.js) - Google Analytics