sed命令

sed命令详解

概述:sed是一种流编辑器,他一次处理一行内容,处理时他会把当前的行存储在临时的缓冲区中,称为模式空间,接着用sed命令处理缓冲区的内容,处理完成后,把缓冲区中的内容送到屏幕中,接着读入下一行,执行下一个循环,这样不断的重复,直到文件的末尾,文件内容并没有改变,除非使用重定向存储输出。sed总是以行对输入处理,sed处理的不是原文件而是源文件的拷贝。

功能:主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转换程序等。

在sed工具中会自动的开辟一个内存空间(模式空间patterm space),自动读取文件中的一行,可以根据sed指令切割成一个小的和字段一样,可以一段一段开处理,处理完自动这行就没有了,处理结果可以显示和修改,接着读入下一行,执行下一个循环。

用法:

sed [option]… ‘script’ inputfile…   (script是地址命令)

  1. -n 不输出模式空间内容到屏幕,不自动打印(使打印内容只显示一遍)
  2. -e 多点编辑,可以有多个script
  3. -f 从指定文件中读取编辑脚本
  1. -r 支持使用扩展正则表达式
  2. -i.bak:备份文件并原处编辑

地址定界:

1.不给地址:对全文进行处理

2.单地址:#:指定的行,$:最后一行,/pattern/:被此模式能够匹配到的每一行

3.地址范围:#,#(从几行到第几行)。#,+#(第几行到这行之后多少行)。/pat1/,/pat2/(两个模式之间的行)。#,/pat1/(从第#行开始找,一直找到符合part1条件的行)。

4.~:步进,1~2 奇数行 2~2偶数行

编辑命令:

-p打印当前模式空间内容,追加到默认输出之后

1

-d 删除模式空间匹配的行,并立即启用下一轮循环

a[\]text:在指定行后面追加文本 (补空格 \)

2

i[\]text在行前面插入文本

3

c[\]text 替换行为单行或多行文本。(Source那行替换为xxxxx)可替换配置文件

4

w /path/somefile :保存模式匹配的行至指定文件(例,将bash中以alias开头的行拿出来存到另一个文件中)

5

r /path/somefile 读取指定文件的文本至模式空间中匹配到的行后。例,读取release文件到以 alias开头的行的后面。

6

!模式空间中匹配行取反处理,(除了。。。干什么事)例打印除了bash结尾的所有的行

7

s///:搜索替代(查找替换),支持使用其他分隔符,s@@@,s###

替换标记:(命令中前面是正则表达式,后面是字符串)

g:行内全局替换

p:显示替换成功的行

w:将替换成功的行保存至文件中

:/etc/passwd文件中bash结尾的行替换成nologin

8

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/96260

(0)
浮夸浮夸
上一篇 2018-04-16 08:53
下一篇 2018-04-16 09:11

相关推荐

  • 用户组_配置文件

    /etc/passwd /*name:password:UID:GID:GECOS:directory:shell*/ /etc/shadow login name encrypted password date of last password change minimum password age maximum password age passwor…

    Linux笔记 2018-04-14
  • linux练气篇

    1、描述计算机的组成及其功能。
    2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
    3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
    4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
    5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
    6、请罗列Linux发行版的基础目录名称命名法则及功用规定

    Linux笔记 2018-05-12
  • Linux系统-动态库删除或破坏等,修复操作

    Linux,CentOS7,救援模式(Rescue a CentOS System),动态库(shared libraries)

    2018-04-20
  • RAID

    RAID技术 stripe:条带。将连续的数据切分成相同大小的数据块,把每段数据块分别写入到不同磁盘上的方法。 条带技术可以增加硬盘的读写性能,但是不支持数据容错。最少使用2块盘做条带。磁盘利用率为100% mirror:镜像。镜像技术是将n(2的倍数)块磁盘上的每个数据位同步成相同的数据位。在写数据时,写入2 份数据。镜像技术有容错功能,但是硬盘的写性能有…

    Linux笔记 2018-04-25
  • 启动和内核管理之centos6

    在本章的学习中,你的系统将会被你整的死去活来,在不断地破坏和修复中,熟悉centos的启动流程

    Linux笔记 2018-05-11