Sed命令基本语法(一)

学习目标

Sed工作流

Sed命令基本语法

1、 sed的工作流程

sed的工作流程分为以下几步

流程图解说:首先读一行存放在模式空间(pattern space);

其次从模式空间取得该内容,并且对命令进行一个解析;

然后把模式空间的内容进行清空,并且输出来;

最后反复一直读;

2、 sed命令的基本语法

(1)     sed命令的格式

sed[options]{sed-commands}{input-file}

(2) sed的p命令与-n选项(print, --quiet)

sed ‘p’  test.txt  这样会每行输出两次;(读入模式空间输出一次,清空模式空间再输出一次)

sed –n ‘p’ test.txt   加上-n与cat命令达到一样的效果;只会输出模式空间的内容 ;

sed –n ‘1 p’ test.txt  只打印第一行;

sed –n ‘1,3 p’ test.txt  打印1~3行;

sed –n ‘/hello/p’ test.txt  打印hello 所在行;

sed –n ‘/hello/,/hello1/p’ test.txt  打印hello 至hello1所在行;

sed –n ‘/^hello/ p’ test.txt 打印hello开头的行;(正则表达式)

sed –n ‘/hello$/ p’ test.txt  打印hello结尾的行;(正则表达式)

sed –n ‘ /^[0-9] \{3\}/ p’ test.txt 打印数字重复3次的内容;

sed –n ‘1~2 p’ test.txt   每隔一行(2-1=1)打印一次;

(3)sed的d命令(delete);和p命令类似;

sed ‘/103/  d’  test.txt  删除模式空间103所在的行;文本文件(test.txt)里面的内容不变;

(4)更多sed选项

-f 从文件中读入命令

Sed –f cmd.sed test.txt  新建cmd.sed命令文件,文件内容如下: /hello/ p

可以在命令文件中写入多个命令;

-e 选项执行多个命令

sed –n  -e  ‘/hello/  p’ –e ‘/hello1/ p’ test.txt 打印hello和hello1所在的行;

时间: 2024-11-10 15:21:27

Sed命令基本语法(一)的相关文章

文本处理工具之二 sed命令详解

======博主所学知识来着于恩师马哥的亲授====== 马哥教育"2014夏令营"开始啦!!!马哥教育是目前性价比最高的Linux培训,国内好评度排名第一,并被网友称为Linux界的"黄埔军校",全部课程采用Centos6.5x86_64讲解,经过几期网络班的总结和锤炼,逐渐完善的课程体系,学员学习进度监督和优质的考试系统检验学员掌握程度,活跃的在线答疑环节,名师陪伴,牛人指点,精彩不容错过. 详情猛戳:http://www.magedu.com/ 课程内容:ht

linux---(6/27)sed命令

sed 是一种新型的,非交互式的编辑器.它能执行与编辑器 vi 和 ex 相同的编辑任务.sed 编辑器没有提供交互式使用方式,使用者只能在命令行输入编辑命令.指定文件名,然后在屏幕上查看输出. sed 编辑器没有破坏性,它不会修改文件,除非使用 shell 重定向来保存输出结果.默认情况下,所有的输出行都被打印到屏幕上. sed 工作过程 sed 编辑器逐行处理文件(或输入),并将输出结果发送到屏幕. sed 的命令就是在 vi和 ed/ex 编辑器中见到的那些. sed 把当前正在处理的行保

linux下sed命令详解

sed:Stream Editor文本流编辑,sed是一个"非交互式的"面向字符流的编辑器.能同时处理多个文件多行的内容,可以不对原文件改动,把整个文件输入到屏幕,可以把只匹配到模式的内容输入到屏幕上.还可以对原文件改动,但是不会再屏幕上返回结果. sed命令的语法格式: sed的命令格式: sed [option] 'sed command'filename sed的脚本格式:sed [option] -f 'sed script'filename sed命令的选项(option):

centos 7中的文本处理工具sed命令的使用

sed是一个强大而简答的文本解析转换工具,可以读取文本,并根据指定的条件对文本内容进行编辑(删除.替换.添加.移动等),最后输出所有行或者仅输出处理的某些行.sed也可以在无交互的情况下实现相当复杂的文本处理操作,被广泛应用于shell脚本中,用以完成各种自动化处理任务.sed的工作流程主要包括读取.执行和显示三个过程: 读取:sed从输入流(文件.管道.标准输入)中读取一行内容并存储到临时的缓冲区中(也称为模式空间). 执行:默认情况下,所有的sed命令都在模式空间中顺序地执行,除非指定了行的

awk和sed命令

sed:Stream Editor文本流编辑,sed是一个“非交互式的”面向字符流的编辑器.能同时处理多个文件多行的内容,可以不对原文件改动,把整个文件输入到屏幕,可以把只匹配到模式的内容输入到屏幕上.还可以对原文件改动,但是不会再屏幕上返回结果. sed命令的语法格式: sed的命令格式: sed [option] 'sed command'filename sed的脚本格式:sed [option] -f 'sed script'filename sed命令的选项(option): -n :

sed命令(1)-基本语法和命令

注:学习sed命令的参考书籍为<Sed&Awk>,所以笔记也都是参考该书. sed命令的基本语法和命令: 一.sed命令语法 sed [options] {sed-commands} {input-file} sed是按每行依次读取input-file,然后执行sed-command,执行完的数据写入模式空间. options是用来传递sed命令的可选参数. 当需要使用多条命令的时候可以使用-e参数,其语法如下: sed [options] -e {sed-command1} -e {

sed命令

文本处理三剑客: grep, egrep, fgrep:文本过滤器 sed:Stream EDitor,流编辑器,行     pattem space:模式空间.(基础)     hold space:保持空间 awk:文本格式化工具,报告生成器 语法 sed [OPTION]...  'script'  [input-file] ... script:     地址定界编辑命令         :%s/ 常用选项: -n:不输出模式空间中的内容至屏幕: -e script, --express

sed命令总结

在编写shell脚本的过程中,我们经常需要使用sed流编辑器和awk对文本文件进行处理. 什么是sed? sed是一种在线编辑器,它一次处理一行内容.sed是非交互式的编辑器.它不会修改文件,除非使用shell重定向来保存结构.默认情况下,所有的输出行都被打印到屏幕上. sed的处理过程是什么? sed编辑器逐行处理文件(或输入),并将结果发送到屏幕.具体过程如下:首先sed先把当前正在处理的行保存在一个临时缓存区中(也称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上.sed每

Linux的sed命令

一.初识sed 在部署openstack的过程中,会接触到大量的sed命令,比如 # Bind MySQL service to all network interfaces.sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf 那么这条命令是什么意思?接下来介绍sed命令答案自然就揭晓了.二.sed简介 sed:是一个编辑器,是一个强大的文件处理工具. sed作用:用来替换.删除,更新文件中的内容.sed能自动处理一个或多个文件. sed原理:sed