`
wx1569063608
  • 浏览: 22683 次
文章分类
社区版块
存档分类
最新评论

linux中sed命令

 
阅读更多

sed基本用法:

    sed: Stream Editor  行编辑器,同vi编辑器不一样的是,vi编辑器是全屏编辑器。

sed:模式空间

    默认不编辑原文件,仅对模式空间中的数据做处理;而后,处理结束后,将模式空间打印至屏幕;


sed [options] 'AddressCommand' file...

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

-i:直接修改原始文件

-e SCRIPT -e SCRIPT:可以同时执行多个脚本

-f  /PATH/TO/SED_SCRIPT   

    sed -f /path/to/scripts file

-r 表示使用扩展正则表达式

关于Address的说明:

  1. StartLine,EndLine     比如1,100  $:最后一行

  2. /RegExp/      /^root/

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

  4. lineNumber:指定的行

  5. StartLine,+N   从startline开始,向后的N行。

关于Command的说明:

d: 删除符合条件的行

p: 显示符合条件的行

a \String :在指定的行后面追加新行,内容为string

i \String :在指定的行前面添加新行,内容为string

r FILE:将指定的文件的内容添加至符合条件的行处

w FILE : 将地址指定的范围内的行另存为指定的文件中

s/pattern/string/修饰符  :查找并替换,默认只替换每行中第一次被模式匹配到的字符串

加修饰符:  g:全局替换      i:忽略字符大小写

其实  s///,s###,s@@@都是一样的,    \(\) ,\1,\2

&:引用模式匹配整个串。

练习:

  1. 删除/etc/grub.conf文件中行首的空白符

    sed -r     's/^[[:space:]]+//g' /etc/grub.conf

  2. 替换/etc/inittab文件中“id:3:initdefault:”一行中的数字为5

    sed -r   's#^\(id:\):[[:digit:]]\(:initdefault:\)#\15\2#g'

  3. 删除/etc/inittab文件中的空白行

    sed -r  '/^$/d' /etc/inittab

  4. 删除/etc/inittab文件中开头的#号

    sed -r 's/^#//g' /etc/inittab

  5. 删除某文件(/etc/inittab)中开头的#号及后面的空白字符,但要求#号后面必须有空白字符

    sed -r 's/^#[[:space:]]+//g' /etc/inittab

  6. 取出一个文件路径的目录名称

    sed -r 's@^(/.*/)[^/]+/?@\1@g'

  7. 取出一个文件路径的文件名称

    sed -r 's@^/.*/([^/]+)/?@\1@g'

转载于:https://my.oschina.net/alfredliukai/blog/496911

分享到:
评论

相关推荐

    浅谈linux中sed命令和awk命令的使用

    本文主要研究的是linux中sed命令和awk命令的使用的相关内容,具体如下。 1、sed命令:没有重定向不会真正修改源文件中的内容 查询语句 ①sed -n ‘/sbin/p’ passwd 表示查询出passwd文件中存在sbin字符的所有行...

    Linux下sed命令的用法

    Linux系统下的sed命令是一个流编辑器,它能够对文本文件或标准输入进行处理并输出。...需要注意的是,由于文件内容的多样性和复杂性,实际使用时需要根据具体情况调整sed命令中的正则表达式和参数选项。

    LINUX_sed命令详解

    **Linux中的sed命令详解** `sed`(流编辑器,Stream Editor)是Linux系统中一个强大的文本处理工具,常用于处理文件或从输入流中过滤数据。它可以在不改变原文件的情况下,对文本进行查找、替换、删除等操作。下面...

    linux sed命令详解

    ### Linux Sed 命令详解 #### 概述 `sed`,全称为“stream editor”,是一种功能强大的文本处理工具,常用于Linux和类Unix系统中。它主要用于文本的过滤和转换工作,能够以流的形式读取并处理文本数据。在处理过程...

    Linux shell 用sed命令在文本的行尾或行首添加字符

    Linux shell 用sed命令在文本的行尾或行首添加字符 sed 命令是 Linux shell 中的一个流编辑器,可以用来对文本进行各种处理操作,例如,添加、删除、替换文本中的字符。今天我们将讨论如何使用 sed 命令在文本的行...

    linux sed 命令详解

    Linux中的`sed`(Stream Editor)命令是一种强大的文本处理工具,它能对输入流(标准输入、文件或者管道)进行实时处理。`sed`的工作方式是读取一行文本,对其进行处理,然后输出,接着处理下一行,直到文件末尾。这...

    linux命令中Sed各种使用方式

    Sed 命令中各种使用方式 Sed 命令是一种在线编辑器,它一次处理一行内容。Sed 主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。 替换命令 Sed 的替换命令的语法是 `s[address]s/...

    Linux/Unix sed命令中文详解图

    处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并...

    linux-Sed命令详解.zip

    3. **命令链**:在一个Sed命令中可以使用分号`;`来连接多个命令,例如`s/pattern1/pattern2/; s/pattern3/pattern4/`。 4. **文件重定向**:`w`命令可以将处理结果写入文件,`>>`操作符可追加写入。 5. **地址...

    linux 系统 sed 命令使用方法

    ### Linux系统sed命令使用方法详解 #### 一、sed简介 `sed`是Stream Editor的缩写,在Linux系统中是一种非常强大的文本处理工具。它能够按照脚本指令读取输入文件(标准输入或文本文件),对其进行模式匹配、替换...

    linux script 好用的sed命令

    【sed命令详解与应用】 ...总之,sed命令是Linux系统中不可或缺的文本处理工具,熟练掌握它可以提高工作效率,解决各种文本处理问题。通过学习和实践,你将能够编写出高效的sed脚本来处理复杂的文本任务。

    linux中sed命令的使用与注意小结

    处理时,把当前处理的行存储在临时缓冲区中,称为『模式空间』(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并...

    Linux-02sed.ppt

    什么是sed:主要介绍什么是sed工具,sed工具的主要操作、工作方式以及地址表示方法,在sed命令中使用正则表达式等。 sed命令的常用操作:主要介绍sed命令的注释方法,打印文本,替换文本,删除文本,追加文本,插入...

    linux中sed的使用

    ### Linux中的sed使用详解 #### 引言 在Linux及UNIX环境中,文本处理是一项非常重要的技能,无论是系统管理员还是开发者,都需要掌握各种工具来进行高效的数据处理。其中,`sed`(stream editor)作为一款功能强大...

    Linux中sed如何处理文本

    Linux中的sed命令是“stream editor”的缩写,是一个强大的文本处理工具。它是一个非交互式的命令行程序,用于对文本数据进行过滤和转换。sed通常用于快速编辑文件或流中的数据,并且可以用来生成转换后的数据或直接...

    Linux_Sed命令详解

    Linux Sed 命令详解 Sed 命令是一种在线编辑器,经常用于 shell 脚本中,对大家有帮助。它一次处理一行内容,将当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用 sed 命令处理缓冲区中...

    快速理解linux流编辑器sed命令

    ### 快速理解 Linux 流编辑器 sed 命令 #### 一、sed 命令简介 `sed` 是 `stream editor` 的缩写,作为一种非交互式的流编辑器,它主要用于文本数据的过滤和转换。不同于 `vi` 或 `vim` 这类编辑器,`sed` 不会...

    windows下cmd程序sed命令所需文件

    在Windows环境下,`cmd`命令行工具通常用于执行各种系统级操作,而`sed`(流编辑器,Stream Editor)是Unix/Linux系统中一个强大的文本处理工具,它在Windows下的应用可能需要额外的配置。本篇文章将详细介绍如何在...

Global site tag (gtag.js) - Google Analytics