sed 命令使用 (笔记)

linux 三大文本处理工具 grep sed awk

之前有说过grep 今天来看看sed命令

简介

sed (Stream EDitor)流编辑器,是非交互式的编辑器,它一次处理一行内容。而且此编辑器默认不会对原文件做修改,如果想要修改使用shell重定向保存结果。默认情况下,所有的输出行都会被打印在屏幕上。

sed 编辑器逐行处理文件(或输入),并将结果发送到屏幕上。处理过程如下:

首先sed 把当前正在处理的行保存在一个临时的缓冲区中(也称为模式空间pattern space),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上。 sed 每处理完一行就将其缓冲区删除,然后将下一行读入,进行处理和显示。处理完输入文件的最后一行后,sed便运行结束。sed 每一行都存在临时缓冲区中,对这个副本进行编辑,所以不会修改原文件。

sed 基本格式

sed [option] "AddressCommand" file

Address

大义是指定该文件中的哪一行或者被定位到的行,支持正规则表达式,数字。如果没有指定行,则默认为处理所有行。

  1. startlike,endline 例

1,100 则定位到文本中的第一行到100行

$ 表示最后一行

$-1 表示倒数第二行

2. /RegExp/ 中间是正规则表达式 例

/^root/ 匹配以root开头的行

3. /pattern/,/pattern2/ 匹配从第一次被pattern1匹配到的行,到第一次被pattern2匹配到的行结束这中间的所有行

4. LineNumber 只给一个数字,则精确匹配到该行

5. startline,+N N是数字  表示从startline 行开始向后匹配N行。

Command

这个是对前边所匹配到的行做字处理 ,比如删除,修改,替换等等

d 删除符合条件的行

a \"string" 可不加引号, 在符合条件的行的后面追加新行,内容为string. \n 是换行符

i \"string" 可不加引号, 在符合条件的行的前面追加新行,内容为string. string 的意思是这个地方你输出什么,则为该行后边添加什么。

p 显示符合条件的行,默认情况下会使符合的行数显示两次(这个是因为patter space的原因)

[option]

这个是可选选项,即可用也可以不用这个选项

-n 静默模式,不再默认显示模式空间中的内容。

时间: 2024-11-10 11:34:47

sed 命令使用 (笔记)的相关文章

Linux Sed命令学习笔记

1 功能说明 sed是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.文件内容并没有改变,除非你使用重定向存储输出或者加入i参数.Sed主要用来自动编辑一个或多个文件:简化对文件的反复操作:编写转换程序等. 小结:sed的功能是,对字符串进行增加.删除.改变.查找,即增删改查! 2 语法格式 s

sed命令 学习笔记

sed 基本用法 sed : Stream EDitor 行编辑器      (全屏编辑器: vim) sed: 默认打印模式空间  默认不编辑原文件,仅对模式空间中的数据做处理; 而后,处理结束后,将模式空间打印至屏幕 sed [optiones] 'ADDressCommand' file ... -n : 静默模式 不在默认显示模式空间中的内容 -i : 直接修改原文件 -e SECRIPT -e SECRIPT : 可以同时执行多个脚本 -f /PATH/TO/SED_SCRIPT :

学习笔记之sed命令使用

一.概述 1.  sed 全称为Stream Editor,就是行编辑器,意味着一次只处理一行文本,sed将被匹配到            的行放到自己特定的空间(通常称为模式空间)中进行编辑:然后再根据结果进行输出显示: 2.  在sed中还有一段空间称为保持空间,sed模式空间中的内容可以与保持空间的内容可以进            行自由互换,实际工作中用处很少,仅作参考: Sed工作流程如图 二.sed命令使用 sed [OPTION]... 'script' [input-file].

shell脚本学习笔记之sed命令用法

sed基本用法 sed:stream editor 行编辑器 sed:模式空间 将匹配的文本内容储存到模式空间中 默认不编辑原文件,仅对模式空间中的数据做处理,而后,处理结束后,架构模式空间的内容显示 sed -n -i:直接修改原文件 -e script -e script:可以同时执行多个脚本 -f file sed -f /scripts  file -r:表示使用扩展正则表达式 sed 'adresscommand' file... -n:静默模式,不再默认显示模式空间中的内容,即只显示

Linux学习笔记之sed命令

讷于言而敏于行    --<论语·里仁> sed命令是一个用在对输入流进行处理的文本处理工具.掌握它能够更好地帮助管理Linux和处理日志文件. 用法: sed [option] 'command' 输入流 常用option: -n:安静模式,一般如果没有加-n选项,输入流中所有的行将会被列出,加入-n后只会列出'command'处理过的行.一般与 command中p命令连用. -r:默认sed只是支持一般的正则表达式,如果加上-r参数表示让sed支持扩展的正则表达式. -i:插入,如果输入流

shell脚本编程学习笔记(3)sed命令的使用

本文主要参考<sed&awk>. 我们平时使用的编辑器,比如vi,是交互式的编辑器,就是想修改哪个地方,就先定位到哪个地方,通常通过移动光标来完成.而sed是一个非交互式的面向字符流的编辑器,或者叫流编辑器.sed直接处理输入流并将结果送到标准输出.sed通过解释脚本来工作,该脚本指定了将要执行的动作. sed每次从输入文件中读取一个输入行,生成该输入行的备份,并且对改备份执行脚本中指定的指令操作.因此,对输入行所做的改动不会影响到真正的输入行.并且,sed的工作模式,是每次处理输入流

Linux自学笔记——sed命令

sed行编辑器: sed是一种行编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时存储区中,称为"模式空间",接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,知道文件末尾.文件内容并没有改变,除非你使用重定向存储输出或者配合编辑选项使用.Sed主要用来自动编辑一个或多个文件:简化对文件的反复操作:编写转换程序等. sed用法: sed - stream editor for filtering andtransformin

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 {

2.2 linux sed命令详解

简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.文件内容并没有 改变,除非你使用重定向存储输出.Sed主要用来自动编辑一个或多个文件:简化对文件的反复操作:编写转换程序等. sed使用参数 [[email protected] ~]# sed [-nefr] [动作] 选项与参数