首页 > 代码库 > sed详解
sed详解
[gandefeng@localhost ~]$ sed ‘$i this is a new line‘ test this is a this is a new line test
sed [-hnV][-e<script>][-f<script文件>][文本文件]
参数:
-e<script>或--expression=<script> 以选项中指定的script来处理输入的文本文件,可接多个,但要分别对每个连续动作指定-e,一般只有一个月也可省略。
-f<script文件>或--file=<script文件> 以选项中指定的script文件来处理输入的文本文件
-h或--help 显示帮助。
-n或--quiet或--silent 仅显示script处理后的结果。
-V或--version 显示版本信息。
动作:
a:新增, a 的后面可以string,这些string会在新的一行,即出现目前的下一行 c:取代, c 的后面可以string,这些字串可以取代 特定的某一行,也可替换n1,n2 之间的行
d:删除, d 因为是删除,所以 d 不接后续 i:插入, i 的后面可以string,而这些string会在新的一行出现,即目前的上一行
p:打印, 亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行
s:取代, 可以直接进行取代的工作,通常这个 s 的动作可以搭配正则表达式
PS:以上动作一般用作接收其他动作或命令送过来的数据流,做处理后显示出来。
实例: 原简单测试文件:
[gandefeng@localhost ~]$ cat test this is a test
a 新增:
在第一行后面新增一行
[gandefeng@localhost ~]$ sed ‘1a this a new line‘ test this this a new line is a test
在最后一行新增一行
[gandefeng@localhost ~]$ sed ‘$a this a new line‘ test this is a test this a new line
i 插入
在第一行前插入,即插入的行为第一
[gandefeng@localhost ~]$ sed ‘1i this a new line‘ test this a new line this is a test
在最后一行插入,及插入的行为倒数第二行
sed详解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。