文本处理三剑客之-sed高级用法

高级编辑命令:

     h:把模式空间中的内容覆盖至保持空间中
     H:把模式空间中的内容追加至保持空间中
     h H  Copy/append pattern space to hold space
    
     g:把保持空间中的内容覆盖至模式空间中
     G:把保持空间中的内容追加至模式空间中
     g G  Copy/append hold space to pattern space.
    
     x:把模式空间中的内容与保持空间中的内容互换
     x  Exchange the contents of the hold and pattern spaces.
    
     n:覆盖读取匹配到的行的下一行至模式空间中
     N:追加读取匹配到的行的下一行至模式空间中
     n N Read/append the next line of input into the pattern space.
    
     d:删除模式空间中的行   
     d  Delete pattern space.  Start next cycle.
    
     D:删除多行模式空间中的所有行

示例

     # sed -n ‘n;p‘ /etc/fstab 显示偶数行
     # sed ‘1!G;h;$!d‘ FILE 逆序显示文件内容
     # sed ‘$!d‘ FILE  取出最后一行
     # sed ‘$!N;$!D‘ FILE  取出文件后两行;
     # sed ‘/^$/d;G‘ FILE 删除原有的所有空白行,而后为所有非空白行添加一个空白行
     # sed ‘n;d‘ FILE 显示奇数行
     # sed ‘G‘ FILE 在原有的每行后方添加一个空白行
时间: 2024-10-24 11:03:20

文本处理三剑客之-sed高级用法的相关文章

文本处理三剑客之-sed基础用法

文本处理三剑客: grep,egrep,fgrep:文本过滤器 sed:stream EDitor:流编辑器,行 awk:文本格式化工具,报告生成器 sed [OPTION]...'script' [input-file]      script:地址定界编辑命令                [option]           -n:不输出模式空间中的内容至屏幕           -e:多点编辑           -f /path/to/sed_script_file:         

文本处理三剑客之sed基本用法

sed:streameditor,意为流编辑器,是类Unix操作系统常见的命令行程序.sed用来把文档或字符串里面的文字经过一系列编辑命令转换为另一种格式输出:sed通常用来匹配一个或多个正则表达式的文本进行处理. sed工作原理: sed维护了两个数据的缓冲空间:模式空间(patternspace)和保留空间(hold space),初始环境都为空: 1.当sed命令对一个文本文件进行处理,逐行读取文本文件进行地址匹配,将匹配到的行放在模式空间中: 2.sed的编辑命令对模式空间中的内容进行编

文本处理三剑客之 Sed ——高级编辑命令

本篇介绍sed的高级编辑命令 高级编辑命令 P:打印模式空间开端至\n内容,并追加到默认输出之前 n: 读取匹配到的行的下一行覆盖至模式空间 N:读取匹配到的行的下一行追加至模式空间 h: 把模式空间中的内容覆盖至保持空间中 H:把模式空间中的内容追加至保持空间中 g: 从保持空间取出数据覆盖至模式空间 G:从保持空间取出内容追加至模式空间 x: 把模式空间中的内容与保持空间中的内容进行互换 d: 删除模式空间中的行,并进入下一个循环 D: 删除当前模式空间开端至\n的内容,放弃之后的命令,之后

文本处理三剑客之sed基础用法

sed简介: sed是Stream EDitor的缩写,也就是流编辑器的意思,准确的说sed是一个交互式的面向字符流的编辑器,这是因为输入的数据通过sed程序并直接输出到标准输出(可以是显示器或者文件). sed功能: 每次从文件中读取一行通过解释脚本指定的执行动作来处理这一行(一行要历经所有处理动作),然后开始下一行,直到结束.执行动作可以是多个(用:隔开每个动作),解释脚本也可以是多个,可以实现删除,插入,查找替换等等强大功能,但是一般不编辑源文件,也就是说源文件内容不发生变化. sed原理

文本处理三剑客之sed

文本处理三剑客之sed sed概述 sed使用示例 sed的高级应用 sed概述 sed, 作为文本三剑客之一,其定位就是一个编辑器, 而且sed是一个流式编辑器(stream editor),其主要功能是过滤和转换文本. sed - stream editor for filtering and transforming text 作为一个强大的文本处理功能,sed 自然能够配合正则表达式,另外,所谓流编辑器,sed 是逐行地读取文本,在文本行中应用指定的命令,且默认输出到stdout; se

文本处理三剑客之sed(流编辑器)

文本处理三剑客之sed(流编辑器) - 行编辑器 把当前处理的行存储在临时缓冲区,称为模式空间,然后把模式空间的内容送往屏幕,一行一行的处理,主要用来编辑一个或者多个文件. - 用法 sed [option]... 'script' inputfile... ###### - 常用选项 -n:不输出模式空间内容到屏幕,即不自动打印 默认会打印模式空间的内容加-n 可以只显示需要打印的行 [root@localhost home]# sed -n '2,3p' /etc/passwd bin:x:

文本工具三剑客:sed

文本工具三剑客:sedsde是一种流编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓存区,称为 模式空间    用法:    sed [选项] [加自己的语言] [要处理的文件]    选项:        -n  不输出模式中的内容至屏幕            # sed -n "10p" f2 只打印出第10行匹配到的行 其他不显示            10  UUID=07a475f4-3d7a-4b27-9ec9-500bc8a19c4d /boot      

Linux文本处理三剑客之---sed

sed文本处理工具       本章内容 ?  sed介绍 ?  sed用法 ?  sed高级用法 1.sed介绍 Stream EDitor, 行编辑器 sed是一种流编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.然后读入下行,执行下一个循环.如果没有使诸如'D'的特殊命令,那会在两个循环之间清空模式空间,但不会清空保留空间.这样不断重复,直

Linux文本处理“三剑客”之sed

sed(Stream Editor)是一个行编辑工具.下面我们介绍 sed 的实现原理和基本使用方法. 一.sed 的处理文本的流程 基本处理流程如下: 处理流程是:每次读入文本文件的一行到内存中的模式空间中,在模式空间中处理后将处理的结果输出,默认会打印到屏幕上.因此,默认情况下,不会改变原文件的内容. 二.sed 命令的使用 基本语法:sed [options]... '地址定位 编辑命令' FILE... 地址定位的方法: 1.行定位: start_line[,end_line] 2.模式