今天学习了sed的基本用法,如有不对的地方希望大家指出。.
使用sed命令行格式为:
[root@localhost ~]# sed [-nefri] command 输入文本
常用选项:
-n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。
-e∶直接在指令列模式上进行 sed 的动作编辑;
-f∶直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作;
-r∶sed 的动作支援的是延伸型正规表示法的语法。(预设是基础正规表示法语法)
-i∶直接修改读取的档案内容,而不是由萤幕输出。
常用命令:
a ∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c ∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d ∶删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
i ∶插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作~
s ∶取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!
举例:(假设我们有一文件名为ab)
删除某行
[root@localhost ruby] # sed '1d' ab #删除第一行
[root@localhost ruby] # sed '$d' ab #删除最后一行
[root@localhost ruby] # sed '1,2d' ab #删除第一行到第二行
[root@localhost ruby] # sed '2,$d' ab #删除第二行到最后一行
显示某行
. [root@localhost ruby] # sed -n '1p' ab #显示第一行
[root@localhost ruby] # sed -n '$p' ab #显示最后一行
[root@localhost ruby] # sed -n '1,2p' ab #显示第一行到第二行
[root@localhost ruby] # sed -n '2,$p' ab #显示第二行到最后一行
使用模式进行查询
[root@localhost ruby] # sed -n '/ruby/p' ab #查询包括关键字ruby所在所有行
[root@localhost ruby] # sed -n '/\$/p' ab #查询包括关键字¥所在所有行,使用反斜线\屏蔽特殊含义
增加一行或多行字符串
[root@localhost ruby]# cat ab
Hello!
ruby is me,welcome to my blog.
end
[root@localhost ruby] # sed '1a drink tea' ab #第一行后增加字符串"drink tea"
Hello!
drink tea
ruby is me,welcome to my blog.
end
[root@localhost ruby] # sed '1,3a drink tea' ab #第一行到第三行后增加字符串"drink tea"
Hello!
drink tea
ruby is me,welcome to my blog.
drink tea
end
drink tea
[root@localhost ruby] # sed '1a drink tea\nor coffee' ab #第一行后增加多行,使用换行符\n
Hello!
drink tea
or coffee
ruby is me,welcome to my blog.
end
代替一行或多行
[root@localhost ruby] # sed '1c Hi' ab #第一行代替为Hi
Hi
ruby is me,welcome to my blog.
end
[root@localhost ruby] # sed '1,2c Hi' ab #第一行到第二行代替为Hi
Hi
end
插入
[root@localhost ruby] # sed -i '$a bye' ab #在文件ab中最后一行直接输入"bye"
[root@localhost ruby]# cat ab
Hello!
ruby is me,welcome to my blog.
end
bye
分享到:
相关推荐
在Linux系统中,`sed`(流编辑器Stream Editor)是一个强大的文本处理工具,它能够对输入流(标准输入或指定文件)进行实时编辑,并将处理结果输出到标准输出或重定向到其他文件。在软件开发、系统管理以及日常文本...
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法
本文将详细解读sed命令在Linux环境下的用法,包括其基本语法以及常见用例。 首先,sed命令的基本语法格式为: ``` sed [选项] '脚本' [文件] ``` 其中,选项部分可以用于控制sed的行为,例如-i选项可以用于直接...
### Linux Sed 命令详解 #### 概述 `sed`,全称为“stream editor”,是一种功能强大的文本处理工具,常用于Linux和类Unix系统中。它主要用于文本的过滤和转换工作,能够以流的形式读取并处理文本数据。在处理过程...
Linux中的`sed`(Stream Editor)命令是一种强大的文本处理工具,它能对输入流(标准输入、文件或者管道)进行实时处理。`sed`的工作方式是读取一行文本,对其进行处理,然后输出,接着处理下一行,直到文件末尾。这...
### sed 命令用法详解 #### 一、sed 命令简介 `sed`(stream editor)是一款功能强大的文本处理工具,主要用于对文本流进行编辑与修改。它支持正则表达式,能够非常方便地实现字符串查找、替换等操作。 #### 二、...
总之,"sed用法实例指导DOC版"文档是学习和提升sed技能的宝贵资源,无论你是Linux新手还是经验丰富的系统管理员,都能从中受益。通过阅读和实践文档中的例子,你将能够熟练掌握这一强大的文本处理工具,提高在文本...
主要介绍一下linux中sed的用法;和上一个awk设计得一样;
本文将详细介绍`sed`命令的基本用法及常用参数。 #### 基本语法 `sed`的基本语法格式为: ```bash sed [选项] '命令' 文件名 ``` 其中,“命令”可以包含一系列文本处理指令。 #### 参数详解 1. **`-e` 或 `--...
通过阅读本书,读者不仅可以掌握sed和awk的基本操作,还能深入了解它们的高级特性和用法,从而在面对各种文本处理挑战时游刃有余。无论你是系统管理员、程序员还是数据分析师,都能从这本全面的教程中获益匪浅。通过...
### Linux Sed 和 Awk:文本处理利器 在Linux系统中,`sed`(Stream Editor)与`awk`是两种非常强大的文本处理工具。它们能够帮助用户高效地进行文本的搜索、替换、删除、添加等操作,是每一个系统管理员和开发者的...
将介绍执行命令列上的编辑指令 、sed 编辑指令、执行档案内的编辑指令、执行多个档案的编辑、及 执行 sed 输出控制。
Linux sed 命令 Linux sed 命令是利用脚本来处理文本文件。 sed 可依照脚本的指令来处理、编辑文本文件。 Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。 语法 sed [-hnV][-e][-f]...
Linux是开源的操作系统,其命令行工具和shell脚本编程是进行系统管理和应用程序开发的基础。在Linux中,shell脚本可以实现自动化任务,提高工作效率。本文将深入探讨Linux的常用命令、shell语法、gcc和gdb编译器的...
在Linux和Unix环境中,sed广泛用于数据转换、文本替换、删除、添加、插入等操作。通过熟练掌握sed命令,我们可以高效地对大量文本进行自动化处理。 ### sed命令的语法 sed命令的基本格式为: ```bash sed [option]...
### Linux sed 命令全参数及用法详解 #### 一、sed 命令简介 `sed`(stream editor)是 Linux 和 Unix 系统中的一个强大的文本处理工具,它能够对输入流(标准输入或文件)进行编辑、过滤、替换等操作,并将结果...
Linux下的`sed`是一个强大的流编辑器,它允许用户对文本文件进行非交互式的操作,如替换、删除、插入等。`sed`的工作原理是逐行处理输入文件,每读入一行,它会先将其存储在模式空间中,然后根据用户指定的命令对...
在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到终端上。但如果加上 -n 参数后,则只有经过 sed 特殊处理的那一行(或者动作)才会被列出来。 * -e 选项:直接在命令列模式上进行 sed 的动作编辑。 * -...