sed编辑器逐行处理输入,然后把结果发送到屏幕。
sed命令和选项:
a\ |
在当前行后添加一行或多行 |
c\ |
用新文本替换当前行中的文本 |
d |
删除行 |
i\ |
在当前行之前插入文本 |
h |
把模式空间的内容复制到暂存缓冲区 |
H |
把模式空间的内容添加到缓冲区 |
g |
取出暂存缓冲区的内容,将其复制到模式缓冲区 |
G |
取出暂存缓冲区的内容,将其追加到模式缓冲区 |
l |
列出非打印字符 |
p |
打印行 |
n |
读入下一行输入,并从下一条而不是第一条命令对其处理 |
q |
结束或退出sed |
r |
从文件中读取输入行 |
! |
对所选行以外的行应用所有命令 |
s |
用一个字符串替换另外一个字符串 |
替换标志:
g |
在行内进行全局替换 |
p |
打印行 |
w |
将行写入文件 |
x |
交换暂存缓冲区和模式空间的内容 |
y |
将字符转换成另外一个字符 |
sed例子:
打印:p命令
sed ‘/abc/p’ file |
打印file中包含abc的行。默认情况sed把所有行都打印到屏幕,如果某行匹配到模式,则把该行另外再打印一遍
|
sed -n ‘/abc/p’ file |
和上面一样,只是去掉了sed的默认行为,只会打印匹配的行 |
删除:d命令
sed ‘3,$d’ file |
删除从第3行到最后一行的内容。 |
sed ‘$d’ file |
删除最后一行的内容 |
sed ‘/abc/d’ |
删除包含abc的行。 |
sed ‘3d’ file |
删除第三行的内容 |
替换:s命令
sed ‘s/abc/def/g’ file |
把行内的所有abc替换成def,如果没有g,则只替换行内的第一个abc |
sed -n ‘s/abc/def/p’ file |
只打印发生替换的那些行 |
sed ‘s/abc/&def/’ file |
在所有的abc后面添加def(&表示匹配的内容) |
sed -n ‘s/abc/def/gp’ file |
把所有的abc替换成def,并打印发生替换的那些行 |
sed ‘s#abc#def#g’ file |
把所有的abc替换成def,跟在替换s后面的字符就是查找串和
替换串之间的分割字符,本例中试# |
指定行的范围:逗号
sed -n ‘/abc/,/def/p’ file |
打印模式abc到def的行 |
sed -n ‘5/,/def/p’ file |
打印从第五行到包含def行之间的行。 |
sed /abd/,/def/s/aaa/bbb/g |
修改从模式abc到模式def之间的行,把aaa替换成def |
多重编辑-e
sed -e ‘1,3d’ -e ‘s/abc/def/g’ file |
删除1-3行,然后把其余行的abc替换成def |
读文件:r命令
sed ‘/abc/r newfile’ file |
在包含abc的行后读入newfile的内容 |
写文件:w命令
sed ‘/abc/w newfile’ file |
在包含abc的行写入newfile |
追加:a命令
sed ‘/abc/a\def’ file |
在包含abc的行后新起一行,写入def |
插入:i命令
sed ‘/abc/i\def’ file |
在包含abc的行前新起一行,写入def |
修改:c命令
sed ‘/abc/c\def’ file |
在包含abc的行替换成def,旧文本被覆盖 |
读取下一行:n命令
sed ‘/abc/{n ; s/aaa/bbb/g;}’ file |
读取包含abc的行的下一行,替换aaa为bbb |
转换:y命令
sed ‘y/abc/ABC’ file |
将a替换成A,b替换成B,c替换成C(正则表达式元字符不起作用) |
退出:q命令
sed ‘/abc/{ s/aaa/bbb/ ;q; }’ file |
在某行包含了abc,把aaa替换成bbb,然后退出sed。 |
暂存和取用:h命令(把模式行存储到暂存缓冲区)和g(取出暂存缓冲区的行并覆盖模式缓冲区)G(取出临时缓冲区的行)命令
h和g是复制行为(覆盖),H和G表示追加。
sed -e ‘/abc/h’ -e ‘$G’ file |
包含abc的行通过h命令保存到暂存缓冲区,在第二条命令汇中,sed读到最后一行$时,G命令从暂存缓冲区中读取一行,追加到模式缓冲区的后面。即所有包含abc的行的最后一行被复制到文件末尾。 |
sed -e ‘/abc/{h; d;}’ -e ‘/def/{g; }’ file |
包含abc的行会移到包含def的行上,并进行覆盖。 |
暂存和互换:h和x命令
sed -e ‘/abc/h’ -e ‘/def/x’ file |
包含abc的行会被换成def的行。 |
-i选项:直接作用源文件,源文件将被修改。
分享到:
相关推荐
linux shell命令sed的使用方法
Linux shell 用sed命令在文本的行尾或行首添加字符 sed 命令是 Linux shell 中的一个流编辑器,可以用来对文本进行各种处理操作,例如,添加、删除、替换文本中的字符。今天我们将讨论如何使用 sed 命令在文本的行...
linux shell sed 使用详解 整理的很好。很不错的资源。写脚本全靠这个了。
在Linux系统中,Shell脚本编程是日常自动化任务和系统管理的重要工具,而`sed`(流编辑器,Stream Editor)则是Shell脚本中的一个强大工具。本文将深入讲解`sed`命令的基本概念、功能以及在Shell脚本中的具体应用。 ...
在Linux系统中,shell脚本是自动化任务的强大工具,而sed(流编辑器Stream Editor)则是shell脚本中的一个重要组件,用于对文本文件进行实时的读取、处理和输出。sed命令在文本处理方面具有广泛的应用,能够进行查找...
Linux 主要shell命令、sed、awk使用详解 Linux 主要shell命令详解 shell 是用户和 Linux 操作系统之间的接口。Linux 中有多种 shell,其中缺省使用的是 Bash。本章讲述了 shell 的工作原理,shell 的种类,shell ...
Linux shell sed从入门到精通 sed命令是Linux shell中一个功能强大的流编辑器,它可以对文本进行各种操作,如打印、删除、替换、修改等。下面是sed命令的详细用法和知识点: 一、基本用法 sed的基本用法是将输入...
`sed`作为Linux系统下的强大文本处理工具之一,其功能不仅限于简单的文本替换、删除和插入,还支持复杂的模式匹配、条件判断等功能。通过上述介绍可以看出,`sed`具有丰富的命令集和灵活的使用方式,可以满足各种...
Sed作为Linux/Unix环境下不可或缺的文本处理工具,其强大之处在于能够以极简的方式完成复杂的文本处理任务。无论是简单的文本替换、删除还是复杂的模式匹配,Sed都能提供有效的解决方案。通过本文的学习,我们不仅...
本文主要给大家介绍了关于Linux shell用sed批量更改文件名的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 示例 去除特定字符 目标:将 2017-01-01.jpg、2018-01-01.jpg 改为 ...
Linux Shell 编程基础教程 本资源为 Linux Shell 编程基础教程,涵盖了 Linux Shell 编程的基础知识,包括语法基本介绍、变量、环境变量、Shell 命令和流程控制等。 一、语法基本介绍 在 Linux Shell 编程中,...
Proper usage of shell commands can easily solve many complex tasks with a few lines of code, but most linux users don't have the right know-how to use the Linux shell to its full potential. ...
Linux及Linux Shell简介、初识Linux Shell、常用Shell(Bash)命令、Shell命令进阶、Shell编程基础、Shell的条件执行、Bash循环、Shell函数、正则表达式、脚本输入处理、Shell重定向、管道和过滤器、捕获、sed和awk...
Proper usage of shell commands can easily solve many complex tasks with a few lines of code, but most linux users don't have the right know-how to use the Linux shell to its full potential. ...
标题中的"shell ant sed命令"涉及的是三种在Unix/Linux及类似操作系统中常用的命令行工具,它们在IT领域尤其是软件开发和系统管理中扮演着重要角色。 1. **Shell**:Shell是操作系统提供的一种命令行解释器,允许...
11.Shell编程之SED及GREP综合讲解.mp4 12.Shell编程四剑客及案例详解.mp4 13.Linux下自动化运维企业案例.mp4 14.Linux系统增量备份脚本.mp4 15.自动收集服务器硬件系统信息脚本.mp4 16.Shell编程之磁盘监控报警脚本_...
在IT领域,尤其是在Linux系统管理中,Bash Shell、awk和sed是不可或缺的工具,它们在文本处理和自动化任务执行方面发挥着重要作用。本指南将深入解析这些工具的使用实例和精解,帮助读者理解并掌握这些强大的命令行...