【Linux】sed命令

原创 2016年05月31日 16:21:22

sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。
sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上。sed每处理完一行就将其从临时缓冲区删除,然后将下一行读入,进行处理和显示。处理完输入文件的最后一行后,sed便结束运行。sed把每一行都存在临时缓冲区中,对这个副本进行编辑,所以不会修改原文件。

操作例子:

1.将某文件内容的内容列出并打印行号,同时,将2-5行删除

输入nl /home/zk/test8/main.c |sed '2,5d'
这里写图片描述
可以看到2-5行已经没有了,但是注意,原始的文件中2-5行还是在的,sed命令不会删除原始文件中的内容。
注:
nl命令表示将文件内容显示到标准输出,同时显示行号。
如果只删除第2行,则输入nl /home/zk/test8/main.c |sed '2,5d'
如果删除第2行到最后一行,则输入nl /home/zk/test8/main.c |sed '2,$d'$表示最后一行

2.在某文件的某行后面加入内容

输入nl /home/zk/test8/main.c |sed '7a //copyfile function'
a:表示在后面添加内容
这里写图片描述

3.在某文件的某行前面加入内容

输入nl /home/zk/test8/main.c |sed '7i //copyfile function'
i:表示在前面添加内容
这里写图片描述

4.整行替换

输入nl /home/zk/test8/main.c |sed '2,5c NO 2-5'

这里写图片描述

5.显示某行

输入nl /home/zk/test8/main.c |sed -n '2,5p'
-n:表示quiet模式,仅显示2-5行
这里写图片描述

6.以行为单位进行部分数据替换

sed 's/要被替换的数据/新的字符串/g'
输入/sbin/ifconfig eth0|grep 'inet addr'|sed 's/^.*addr://g'

这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。

Linux sed命令的用法介绍

sed命令简介 sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。 sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。具体过...
  • jasonchen_gbd
  • jasonchen_gbd
  • 2017年01月02日 00:44
  • 4507

linux的sed命令完全解析

1、sed简介       sed是非交互式的编辑器,只能在命令行输入编辑命令、指定文件名,然后在屏幕上打印。它对文件没有破会性,不会修改文件,除非重定向源文件。 2、sed的工作过程     ...
  • sonbai
  • sonbai
  • 2013年04月22日 15:52
  • 1577

linux的sed命令详解

sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法 sed命令行格式为:          se...
  • nyist327
  • nyist327
  • 2014年11月21日 17:47
  • 1438

Linux sed cat命令

将1.txt中的Hi替换成World,并在屏幕上显示出来。 执行sed 's/Hi/ World/' 1.txt | cat
  • NANA170110
  • NANA170110
  • 2017年05月24日 15:47
  • 113

Sed命令的基本使用

sed介绍粘贴一段wiki的介绍: sed (stream editor) is a Unix utility that parses and transforms text, using a s...
  • Gavin__Zhou
  • Gavin__Zhou
  • 2016年05月30日 11:43
  • 911

Linux基本命令练习(7)---sed

sedsed,stream editor,一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作。sed命令格式:sed [option...
  • codeTZ
  • codeTZ
  • 2016年08月22日 22:19
  • 579

Linux实战教学笔记12-linux三剑客之sed命令精讲

第十二节 linux三剑客之sed命令精讲 标签(空格分隔): Linux实战教学笔记-陈思齐 ---更多资料点我查看 1,前言 我们都知道,在Linux中一切皆文件,比如配置文件,日...
  • jthnfldx
  • jthnfldx
  • 2017年02月12日 21:51
  • 136

linux sed命令

1. Sed简介 sed是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后...
  • yi412
  • yi412
  • 2013年09月12日 01:14
  • 527

Linux中sed命令用法

关于用法在这里 http://www.jb51.net/LINUXjishu/144593.html 全文如下 sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存...
  • a130098300
  • a130098300
  • 2017年02月07日 17:08
  • 2070

Linux sed命令

原文章地址:http://blog.sina.com.cn/s/blog_6238358c0100hb0z.html [root@linux ~]# sed [-nefr] [动作]...
  • cy104204
  • cy104204
  • 2013年09月11日 14:32
  • 554
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【Linux】sed命令
举报原因:
原因补充:

(最多只允许输入30个字)