sed是非交互式的编辑器。它不会修改文件,除非使用shell来重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。

 sed编辑器逐行处理文件,并将结果发送到屏幕。具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上。sed每处理完一行就将其从缓冲区删除,然后将下一行读入,进行处理和显示,处理完输入文件的最后一行后,sed便结束运行。sed把每一行都存在临时缓冲区中,对这个副本进行编辑,所以将不会修改原文件。

 $ nl regular_express.txt | sed '2,4d'  #将regular_express的内容列出并打印行号,同时将2-5行删除

 $ nl regular_express.txt | sed '2d'  #将regular_express的内容列出并打印行号,同时将第2行删除

 $ nl regular_express.txt | sed '3,$d'  #将regular_express的内容列出并打印行号,同时删除第三行和最后一行,$定位到最后一行  

 $ sed -i '1d' regular_express.txt #在原文中删除第一行

 a表示在行后加上字符串  i表示在航前添加字符串

 $ nl regular_express.txt | sed '2a text'   #在第二行后加入test字符串

 $ nl regular_express.txt | sed '2i text'    #在第二行前添加test字符串

 $ nl regular_express.txt | sed '1a test/ntest'  #在1行后加入两行test  \n表示换行

 $ nl regular_express.txt | sed '2,5c No 2-5 number'  #将2-5行内容改为No 2-5 number

 sed命令中-n为安静模式选项

 $ nl regular_express.txt | sed -n '5,7p'  #只输出5-7行

 $ nl regular_express.txt | sed '5,7p'  #输出全部 并且5-7行输出double

 sed 's/被替换字符串/新字符串/g'

 $ /sbin/ifconfig eth0 | grep 'inet'  #获取本机IP的行

 $ /sbin/ifconfig eth0 | grep 'inet' | sed 's/.inet...://g'

 $ /sbin/ifconfig eth0 | grep 'inet' | sed 's/.\{0,9\}://g'  #将IP前面的部分给予删除

 $ /sbin/ifconfig eth0 | grep 'inet' | sed 's/.inet...://g' | sed 's/..:.*$//g' #将IP后面的部分删除

 $ /sbin/ifconfig eth0 | grep  'inet' | sed 's/.inet...://g' | sed 's/.\{0,3\}:.*$//g'   #将IP后面的部分删除

 

sed工具命令的更多相关文章

  1. 工作常用的linux/mysql/php/工具命令

    工作常用的linux/mysql/php/工具命令: 1. tar备份目录 tar zcvf ****.tar.gz ****/ tar 备份跳过目录 tar --exclude=test1 3. s ...

  2. shell脚本 sed工具

    sed工具概述(流式编辑器)非交互,基于模式匹配过滤及修改文本逐行处理,并将结果输出到屏幕可实现对文本的输出,增,删,改,查等各种操作 sed流控制:!:取反操作,根据定址条件取反n:读下一行,产生隔 ...

  3. Linux文件格式化与相关处理及sed工具

    http://blog.csdn.net/pipisorry/article/details/52564957 geditor, sed, ed, awk, Emacs 文本处理工具 [Linux S ...

  4. linux学习——sed工具

    命令格式: sed [-nefr] [动作] 1.sed可以分析标准输入(STDIN)的数据,然后将数据处理后,再将他输出到标准输出(STDOUT),他有替换.删除.新增.选定特定行等处理功能.sed ...

  5. sed工具的基本用法

    sed文本处理工具的用法: 用法1:前置命令 | sed [选项] '条件指令' 用法2:sed [选项] '条件指令' 文件.. .. 认识sed工具的基本选项 sed命令的常用选项如下: -n(屏 ...

  6. sed工具

    SED是一个非交互式文本编辑器,它可对文本文件和标准输入进行编辑,标准输入可以来自键盘输入.文本重定向.字符串.变量,甚至来自于管道的文本,与VIM编辑器类似,它一次处理一行内容,Sed可以编辑一个或 ...

  7. Linux sed工具的使用

    基础知识 - 行编辑工具: 一行一行处理文件内容 - 全屏编辑工具:一次性将文件所有内容加载到内存中 sed编辑器: Stream Editor 工作原理: 逐行处理文件内容,一次读取一行内容到模式空 ...

  8. OrchardNoCMS模块生成工具命令简化

    OrchardNoCMS模块生成工具命令行简化列表:   目前只有codegen feature和cultures三个命令. 对应的都进行了参数简化. 例如:codegen module 简化为cod ...

  9. 命令行工具命令 - run包到手机里

    命令行工具命令 你完全可以选择不输入以下这些命令,执行这些命令的结果与在 Android Studio 中单击"运行"按钮是一样的. chmod +x gradlew - 此命令只 ...

随机推荐

  1. Springboot 编码规范

    1.规范的意义和作用 编码规范可以最大限度的提高团队开发的合作效率 编码规范可以尽可能的减少一个软件的维护成本 , 并且几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护 编码规范可以 ...

  2. Python day5_tuple元祖的常见方法1_笔记

    # 初识元祖# 1.元祖的一级元素不能被修改,增加,删除,但可以查看,del tu[0]错的# 2.元祖最后一个元素后注意加‘,’,并没有区别,只是为了和方法中元素区别开li=[11,22,33,44 ...

  3. 【转】DrawDibDraw

    http://blog.csdn.net/normallife/article/details/53177315 BMP位图文件结构及平滑缩放 用普通方法显示BMP位图,占内存大,速度慢,在图形缩小时 ...

  4. Qt_Android_书

    1. http://bbs.csdn.net/topics/390942701 <<Qt on Android 核心编程>> Qt Quick核心编程 2.

  5. angular组件层次与军事指挥层级职责的联系

    又继续读angular文档,发现自己之前理解还是有误.按官方文档的思路service不是属于component的,是属于module的.module才是负责完整领域逻辑的单位.demo的英雄编辑器给我 ...

  6. CCF 100012. 技能树

    100012. 技能树 思路:区间dp. 状态:dp[i][j]表示节点为i,高度小于等于j的方案数. 状态转移:dp[i][j]=∑dp[k][j-1]*dp[i-1-k][j-1]. 节点为i,高 ...

  7. 理解Spring4.0新特性@RestController注解

    参考原文 @RestController注解是它继承自@Controller注解.4.0之前的版本,spring MVC的组件都使用@Controller来标识当前类是一个控制器servlet. 使用 ...

  8. 使用 Python 的 Socket 模块构建一个 UDP 扫描工具

    译文:oschina 英文:bt3gl 当涉及到对一些目标网络的侦察时,出发点无疑是首先发现宿主主机.这个任务还可能包含嗅探和解析网络中数据包的能力. 几周前,我曾经谈到了如何使用Wireshark来 ...

  9. Enter键实现按钮相同功能

    1.在所在的按钮(Enter键功能)的容器上加上onkeydown="saveForKeyDown()",通常加载body上 <!-- 添加窗口--> <div ...

  10. 44 CSS 浮动 模态框 定位

    一.浮动 float : 浮动的盒子不占原来的位置,其下方的盒子会上移 父盒子会发生塌陷现象.同一级盒子right浮动,同级左边的盒子需要左浮动,right浮动的盒子才能上来 由于浮动框不在文档的普通 ...