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

sed(Stream Editor)是一个行编辑工具。下面我们介绍 sed 的实现原理和基本使用方法。

一、sed 的处理文本的流程

基本处理流程如下:

处理流程是:每次读入文本文件的一行到内存中的模式空间中,在模式空间中处理后将处理的结果输出,默认会打印到屏幕上。因此,默认情况下,不会改变原文件的内容。

二、sed 命令的使用

基本语法:sed [options]... ‘地址定位 编辑命令‘ FILE...

地址定位的方法:

1、行定位:

start_line[,end_line]

2、模式匹配

/pattern1/,/pattern2/ 第一次被pattern1匹配到的行开始,到第一次被pattern2匹配到的行结束之间的所有行

/pattern/ 被pattern匹配到的行

3、没有地址定界,代表的是全文。

常用参数:

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

-r: 支持使用扩展正则表达式

-i: 修改原文件;

-e: sed -e "" -e "" -e "", sed "{COM1;COM2;COM3}"

-f: -e的功能差不多,只是将多个COM写到文件中区。

编辑命令:命令可在之前加!取反

p:打印

例如:打印 /etc/fstab 文件的 3 到 5 行

如果不加 -n 的话,会是什么效果呢?

这就是 sed 处理流程所决定的,一般 p 命令与 -n 参数一起使用,才能达到想要的效果。

d: 删除

i \text: 行上方,text即为插入的内容

a \text: 行下方,text即为插入的内容

r /path/from/some_file: 把符合条件的行读到指定文件中

w /path/to/some_file: 把符合条件的行保存至指定的文件中

=: 显示符合条件行的行号

s///: [email protected]@@ 查找替换

g,i:g是全文替换,i忽略大小写

[[email protected] ~]# sed -e ‘/^#/d‘  -e ‘s/\(id:\)[0-9]\(:initdefault:\)/\13\2/‘ /etc/inittab 
id:3:initdefault:

基本用法应经介绍完毕,最主要的的如何使用正则表达式来定位地址范围。

Linux文本处理“三剑客”之sed,布布扣,bubuko.com

时间: 2024-10-13 21:01:39

Linux文本处理“三剑客”之sed的相关文章

漫漫运维路——Linux文本处理三剑客之sed

Sed,即Stream EDitor的缩写,是Linux操作系统中常见的文本处理工具,可以结合正则表达式简单方便地对文本进行处理.本文将以实例的方式介绍sed的基本用法. 基本使用方法 基本语法:sed [OPTION] [AddressCommand] FILE1 FILE2...... OPTION{常用} -n:静默模式,不显示模式空间 -i:直接修改源文件 -e SCRIPT -e SCRIPT:可以同时执行多个脚本 -f /APATH/TO/SED_FILE:从文件中读取脚本,执行 -

Linux文本处理三剑客之sed

今天我们来讲解三剑客之中的sed命令

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

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

Linux 文本处理三剑客之grep

文本处理都要使用正则表达式,正则表达式有: 基本正则表达式:grep或者egrep -G 扩展正则表达式:egreo或者grep -E Linux 文本处理三剑客: sed:stream editor,流编辑工具程序. awk:linux上是gawk,格式化文本工具程序. grep:Global search Regular expression and print out the line 使用基本正则表达式的命令: grep egrep -G fgrep -G 使用扩展正则表达式的命令: g

Linux 篇 | 文本处理三剑客之SED

文本处理三剑客之SED sed不仅可以像grep过滤文件,查找想要的内容,还可以更改文件,这是grep做不到的. 一.sed介绍 Stream EDitor, 行编辑器 sed是一种流编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.然后读入下行,执行下一个循环.如果没有使诸如'D'的特殊命令,那会在两个循环之间清空模式空间,但不会清空保留空间.这

linux文本处理三剑客之grep

  一.linux文本处理三剑客介绍 linux中文本三剑客包括grep(egrep,fgrep),sed,awk,三者基本的功能如下: 工具名称 功能 grep,egrep,fgrep 文本过滤工具(搜索工具) sed stream editor, 流编辑器:文本编辑工具 awk 文本报告生成器 二.grep工具详解 1.grep的介绍: grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行

Linux文本处理"三剑客"--grep

稍微接触过linux都会知道有三个非常强大文本处理工具,那就是grep.sed和awk,想必都有听说过吧. Linux文本处理三剑客: grep, egrep, fgrep:文本过滤工具(模式:pattern): grep:基本正则表达式,支持-E,-F egrep:扩展正则表达式, 支持-G,-F fgrep:不支持正则表达式, sed:stream editor, 流编辑器:文本编辑工具: awk:Linux上的实现为gawk,文本报告生成器(格式化文本): 以上三款工具都支持正则表达式 正

Linux文本处理三剑客之grep一族与正则表达式

一,grep一族是什么? Linux上有三种常用的文本处理工具,分别为:grep(egrep.fgrep).sed.awk.这三者被称为Linux文本处理三剑客. grep一族:文本搜索工具 grep:支持使用基本正则表达式: egrep:支持使用扩展正则表达式,相当于grep -E: fgrep:不支持使用正则表达式,相当于grep -F; [PS:fgrep不需要加载正则表达式引擎,因此速度较快,fgrep的搜索效率在当文件达到几亿行时就能体现出来.(大型web网站一天的日志量都是几亿行的,

linux文本处理三剑客—grep

cat:concatenate 文本文件查看工具 cat [option] filename... -n:给显示出来的文本行加上编号 -b:非空行编号 -V:显示 ^ -E:显示行结束符$ -T:显示制表符 -A:显示所有控制符-A=-VET -s:压缩连续的空行成一行 如:cat /etc/fstab /etc/passwd 同时查看多个文件 df | cut -d: tac:文本文件查看工具 用法同cat 只是文件内容的行逆序显示 rec:文本文件查看工具    用法同cat 只是文本文件每