sed基础

原创 2016年06月01日 16:52:42

sed读取数据方式: sed是流式编辑器,它先从文件的一个文本行或者从标准输入中读取数据,copy进缓冲区,然后读取命令行或者脚本的第一条命令,并使用这些命令查找模式或者定位行号进行编辑;如此重复。
sed处理的是缓冲区中的copy,并不处理源文件;所有的改动如果不重定向到一个文件,都将输出到屏幕。
调用方式:
1、命令行: sed [选项] ‘sed命令’ input_file
实际的命令要加上单引号,(双引号也支持)
2、使用脚本文件:sed [选项] -f sed脚本文件 input_file
第一行具有sed命令解释器的脚本:sed脚本文件 [选项] input_file

选项:

-e 进行多项编辑,即对输入行应用多条sed命令时使用
-n 取消默认的输出;
-f 指定sed脚本的文件名

sed在文件中的定位方式:
数字定位行号;或者正则表达式匹配定位
x x为一行号,如2
x,y 表示行号范围从x到y
/pattern/ 查询包含模式的行
/pattern1/pattern2/ 查询包含两个模式的行
/pattern/,x 行号和模式查询匹配行
x,/pattern/ 行号和模式查询匹配行
x,y! 查询不包含指定x,y的行

sed编辑命令:
a\ 在当前行后添加一行或多行。多行时除最后一行外,每行末尾需用“\”续行
c\ 用此符号后的新文本替换当前行中的文本。多行时除最后一行外,每行末尾需用”\”续行
i\ 在当前行之前插入文本。多行时除最后一行外,每行末尾需用”\”续行
d 删除定位行
h 把模式空间里的内容复制到暂存缓冲区
H 把模式空间里的内容追加到暂存缓冲区
g 把暂存缓冲区里的内容复制到模式空间,覆盖原有的内容
G 把暂存缓冲区的内容追加到模式空间里,追加在原有内容的后面
l 列出非打印字符
p 打印行
n 读入下一输入行,并从下一条命令而不是第一条命令开始对其的处理
q 结束或退出sed
r 从文件中读取输入行
! 对所选行以外的所有行应用命令
s 用一个字符串替换另一个
w 将所选的行写入文件
x 交换暂存缓冲区与模式空间的内容
y 将字符替换为另一字符(不能对正则表达式使用y命令)
= 显示文件行号
{} 在定位行执行的命令组

显示整个文件: sed -n '1,$p' test.file $表示最后一行
替换文本: sed ‘s/pattern-to-find/repleacement-pattern/[g p w n]’ input_file
g:默认只替换第一次出现模式,选项g将全局替换所有出现的模式
p:默认将所有的被替换行写入标准输出,加P选项将使-n选项无效
w 文件名:此选项将输出定向到一个文件。

使用替换修改字符串:& 命令保存匹配模式;
如:sed -n ‘s/aa/”hello” &/p’ test.file —>将aa替换成 hello aa

删除空行:'/^$/d'
删除第一个字符:'s/^.//g'

shell基础+sed+awk的使用

  • 2017年03月23日 17:36
  • 2.36MB
  • 下载

sed基础教程

  • 2014年09月03日 23:09
  • 699KB
  • 下载

Shell基础(四):正则表达式、cut、awk、sed命令

前言: 正则表达式是描述字符排列和匹配模式的一种语法规则。主要用于字符串的模式分割、匹配、查找及替换。(主要为了模糊匹配) 1、正则表达式与通配符区别 ①通配符(* ? [])用来匹配符合条件的...

sed基础实例练习

  • 2013年08月02日 17:36
  • 607KB
  • 下载

Linux基础篇之文本、数据流处理命令(sed uniq grep awk wc)

1 awk:文本和数据处理工具 awk擅长于对数据进行分析并生成报告,简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。 使用方法:a...

Shell基础之-sed命令

sed 是一个非交互式文本编辑器,它可对文本文件和标准输入进行编辑 sed只是对缓冲区中原始文件的副本进行编辑,并不编辑原始的文件...

Linux基础之sed流编辑器详解

之前介绍了三大文本编辑器的grep,这里介绍比grep功能更强的sed流编辑器 sed是什么? sed是Stream EDitor的缩写,man中对sed的简介为 sed - s...

sed编辑器基础之替换命令

s命令s命令说白了就是替换命令,在给定的字符串中用反斜杠后面的字符串代替反斜杠前面的字符串。直接将字符串用管道交给sed即可,直接看例子:kevin@kevin-HP-Compaq-Pro-4300-...

sed编辑器基础之替换命令(二)

sed根据模式替换的命令格式是这样的:s/pattern/replacement/flags其中flags可以写数字,数字是多少,就是第几个位置:我们还是看栗子吧。首先新建一个文件名为data的文本作...

基础指南:利用Sed Stream编辑器在Linux中处理文本

提供:ZStack云计算 系列教程本教程为Sed使用指南系列两篇中的第一篇。内容介绍Sed stream编辑器是一款文本编辑器,能够对来自标准输入或文件的信息者编辑操作。Sed以非交互方式对内容逐行编...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sed基础
举报原因:
原因补充:

(最多只允许输入30个字)